AVPlayer - 从本地播放 URL

AVPlayer - Play from Local URL

令人惊讶的是,尽管进行了多次搜索,我仍无法找到答案。

我有一个已缓存的文件,我可以检索我认为是 url?

的缓存目录和文件名

这是获取文件然后播放的代码

let cachedFilePath = getCachedFilePath.result as! String
audioFileURL = cachedFilePath
self.audioPlayerItem = AVPlayerItem(url: NSURL(string: audioFileURL!) as! URL)

这是我打印 audioFileURL:

时返回的内容

/Users/Genie/Library/Developer/CoreSimulator/Devices/A2FB00CE-B018-4FDF-9635-35FD6678DF8D/data/Containers/Data/Application/E18B5E89-B973-4277-AA5C-1378C69D80CD/Library/Caches/Parse/PFFileCache/7e4a8fc0eb37b655b859e4959f986da2_The%20Name%20of%20the%20Wind%2017-92.mp3

播放器加载但从不播放,它只是坐在那里旋转。所以我想知道我是否正确地将 url 传递给玩家?

我在一个线程上读到要在它之前使用 file:// 但这没有用。

在创建 NSURL 的地方,将参数名称 string 替换为 fileURLWithPath

改变

NSURL(string: audioFileURL!)

NSURL(fileURLWithPath: audioFileURL!)

此外,为什么要将 NSURL 转换为 URL ?为什么不直接用URL呢?

这样试试,希望对你有用。

self.audioPlayerItem = AVPlayerItem(url:NSURL(fileURLWithPath: audioFileURL!) as! URL)
AVPlayerItem(url:URL(fileURLWithPath: Bundle.main.path(forResource: "filename", ofType: "mp4")!))

并确保您的视频已添加到捆绑包中:

project root > your Target > Build Phases > Copy Bundle Resources.