从远程URL保存音频文件并将其本地加载到AKPlayer

时间:2018-09-21 06:18:10

标签: swift caching nsdata nsfilemanager audiokit

远程URL上有MP3文件的数组。我想尝试的是暂时将它们选择性地保存在用户的设备上,然后使用Audio Player播放它们(我正在尝试Audiokit的AKPlayer)。这是我写的:

    guard let remote = URL(string: "http://myserver.com/test.mp3"),
       let data = NSData(contentsOf: remote) else {
            AKLog("Remote failed to load.")
            return
    }

    let cachedFile = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first as URL?
    try? data.write(to: remote)
    let player = AKPlayer(url: cachedFile!)

    AudioKit.output = player
    try? AudioKit.start()


仅当我在本地文件中分配AudioPlayer的URL时,此代码才有效。但是在此版本中,它显示为"failed call=ExtAudioFileOpenURL((CFURLRef)fileURL, &_extAudioFile"。我有点不了解下载和加载远程文件。有人可以通知我吗?非常感激。 <3

0 个答案:

没有答案