我正在尝试在iOS应用中播放来自URL的音频文件(Swift 4)。我希望他们在下载时缓冲和播放。而且我非常喜欢AudioKit,但是为了我自己的生命,我不知道该如何使它读取远程文件。
有什么建议吗?
答案 0 :(得分:2)
您找不到它,因为它不存在。我们从未实现任何流功能。不过可以添加它,许多像您这样的人会很高兴。如果可以解决,请考虑贡献一些代码。如果您愿意,我们可以在开发过程中向您提供AudioKit的Slack组的成员身份。
答案 1 :(得分:2)
如果只需要流式传输和播放音频文件,则可以只使用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示例-您可能希望将其写入临时目录或其他地方。