AVPlayer - 从本地URL播放

时间:2017-01-24 05:45:55

标签: ios swift avplayer

令人惊讶的是,尽管经过多次搜索,我还是找不到答案。

我有一个已缓存的文件,我可以检索我认为是网址的缓存目录和文件名吗?

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

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

如果我打印audioFileURL

,则返回此内容
  

/用户/精灵/库/开发商/ CoreSimulator /设备/ A2FB00CE-B018-4FDF-9635-35FD6678DF8D /数据/容器/数据/应用/ E18B5E89-B973-4277-AA5C-1378C69D80CD /库/缓存/解析/ PFFileCache / 7e4a8fc0eb37b655b859e4959f986da2_The%20Name%20of%第二十条%20Wind%2017-92.mp3

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

我在一个帖子上读到使用file://之前但是没有用。

3 个答案:

答案 0 :(得分:5)

在您创建NSURL的位置,您可以将参数名称string替换为fileURLWithPath

更改

NSURL(string: audioFileURL!)

NSURL(fileURLWithPath: audioFileURL!)

另外,为什么要将NSURL投射到URL?为什么不直接使用URL

答案 1 :(得分:1)

尝试这样,我希望它对你有用。

self.audioPlayerItem = AVPlayerItem(url:NSURL(fileURLWithPath: audioFileURL!) as! URL)

答案 2 :(得分:0)

AVPlayerItem(url:URL(fileURLWithPath: Bundle.main.path(forResource: "filename", ofType: "mp4")!))

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

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