如何从文件路径 iOS Swift 播放和保存音频文件

How to Play and Save AudioFile from filePath iOS Swift

我正在从文件夹中选择音频文件并在此委托函数中获取 URL

func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentAt url: URL) {
    print("url", url)
    self.filePickedBlock?(url)
}

Url 看起来像这样

file:///private/var/mobile/Containers/Data/Application/8012C1BB-43E3-4E0C-9167-B7B5A49824A1/tmp/com.ios.PrankYourFriends-Inbox/AUDIO1.m4a

我正在将这个 URL 作为一个字符串保存在 Realm 数据库中,并在我想玩的时候获取它。

我面临的问题

当我选择后立即播放此音频时,它播放正常。但是,如果我转到任何其他 ViewController 并再次返回并按下播放按钮,它就不会播放音频。

我是这样播放音频的:

self.avPlayer = AVPlayer.init(url: filePath)
self.avPlayer?.play()

请让我知道我做错了什么。

它在 tmp 文件夹中

/tmp/com.ios.PrankYourFriends-Inbox/AUDIO1.m4a

复制它说documents/library然后随时使用