Загрузка кэшированных удаленных аудиофайлов в AKPlayer на iOS вместо использования локального файла - PullRequest
0 голосов
/ 20 сентября 2018

До сих пор я работал над проектом многократного воспроизведения аудио, используя AKPlayers, запускаемый AKSequencer для получения идеальной синхронизации, зацикливания и улучшенной обработки сигнала.Все идет хорошо, но теперь мне нужно немного разобраться, прежде чем перейти на следующий уровень.

Я пытаюсь воспроизвести ту же самую функцию с удаленными mp3-файлами - потоковые массивы mp3-файлов с удаленного URL-адреса.Тем не менее, AKPlayer пока что не поддерживает потоковую передачу.

Одна возможность, которую я нашел на этом веб-сайте, это ответ Райана Франческони на тему "Как я могу получить AudioKit для потоковой передачи?аудиофайл с удаленного URL? ». Вот как он предложил:

guard let remote = URL(string: "https://www.sample-videos.com/audio/mp3/crowd-cheering.mp3"),

let data = NSData(contentsOf: remote) else {
AKLog("Remote failed to load.")
return
}

let cachedFile = FileManager.default.homeDirectoryForCurrentUser.appendingPathComponent(remote.lastPathComponent)
try? data.write(to: cachedFile)
let player = AKPlayer(url: cachedFile)


Итак, прежде чем я начну экспериментировать с этим, кто-нибудь (в идеале, мистер Франческони) может сообщить мнеКак реализовать этот код на iOS ? Было бы безопасно (с точки зрения плавной синхронизации и зацикливания) развить эту идею кэширования и загрузки для проекта воспроизведения нескольких аудиофайлов? Было бы чрезвычайно полезно, если быЯ могу больше узнать об этом. Очень признателен. <3 </p>

1 Ответ

0 голосов
/ 20 сентября 2018

С точки зрения терминологии, это даже не кеш , потому что кеш рассматривается как временное хранилище (и в случае iOS будет стираться, когда система считает, что это лучше), тогда как этот подход фактически сохраняет данные вфайловая система.В общем, я не вижу большого риска с идеей предварительной загрузки и последующего использования загруженных файлов, потому что вы работаете с файловой системой, и это очень быстро.

Единственное, что меня действительно волнует, так это пространство, занимаемое загруженными файлами.Вам, вероятно, потребуется очистить ваши временные файлы (если они временные), когда приложение неактивно, чтобы избежать проблем с памятью.

Чтобы лучше понять, как и, что наиболее важно, где будут храниться ваши файлы, обратитесь к Документация по файловой системе Apple.

...