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

问题描述

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

func documentPicker(_ controller: UIDocumentPickerViewController,didPickDocumentAt url: URL) {
    print("url",url)
    self.filePickedBlock?(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

复制到文档/库中,随时使用