如何将音频数据存储到文档目录中?

时间:2018-03-28 16:44:47

标签: objective-c swift audio avfoundation nsfilemanager

我有AVAudioPlayer,我想将其数据作为音频文件存储到文档目录中。但我似乎无法使其发挥作用。 我尝试过使用FileManagerAudioData.write(to: URL)以及其他一些函数,但是所有函数都抛出错误,说文件不存在或无法保存在文档文件夹中。

1 个答案:

答案 0 :(得分:2)

[ Swift 4 ]首先创建目标网址(带文件名的文档文件夹),然后下载要保存的歌曲。请参阅下面代码中的保存部分代码。

func saveFile(url:URL){
let docUrl:URL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first as URL!
let desURL = docUrl.appendingPathComponent("tmpsong.m4a") //Use file name with ext
var downloadTask:URLSessionDownloadTask
downloadTask = URLSession.shared.downloadTask(with: url, completionHandler: { [weak self](URLData, response, error) -> Void in
    do{
        let isFileFound:Bool? = FileManager.default.fileExists(atPath: desURL.path)
        if isFileFound == true{
            print(desURL)
        } else {
            try FileManager.default.copyItem(at: URLData!, to: desURL)
        }

    }catch let err {
        print(err.localizedDescription)
    }
})
downloadTask.resume()
}