Как я могу получить AudioKit для потоковой передачи аудиофайла с удаленного URL? - PullRequest
0 голосов
/ 08 сентября 2018

Я пытаюсь воспроизвести аудиофайлы с URL-адресов в приложении для iOS (Swift 4).Я бы хотел, чтобы они загружались и игрались во время загрузки.И мне очень нравится AudioKit, но я не могу понять, как заставить его читать удаленные файлы.

Есть предложения?

Ответы [ 2 ]

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

Если вам нужна только потоковая передача и воспроизведение аудиофайлов, вы можете просто использовать AVFoundation.AVPlayer . Если вы хотите интегрировать его в AudioKit, то в настоящее время требуется больше.

Вы можете локально кэшировать URL удаленного файла, а затем загрузить этот кэшированный файл в AKPlayer. Очевидно, не потоковое - но это будет работать:

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)

Обратите внимание, что это всего лишь быстрый пример macOS - вы, вероятно, захотите записать во временный каталог или в другое место.

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

Вы не можете найти его, потому что его там нет. Мы никогда не реализовывали потоковую функциональность. Это может быть добавлено, хотя, и ряд людей, как вы, были бы весьма довольны. Рассмотрите возможность добавления некоторого кода, если вам удастся его решить. Если хотите, мы можем предложить вам членство в Slack-группе AudioKit во время разработки.

...