从在线URL播放视频有效,但从本地路径不起作用

时间:2015-12-19 09:33:09

标签: ios xcode swift video

我在计算机上播放本地视频时遇到问题。我使用了一个名为Player的库,它非常简单,在示例项目中,它使用Vine视频并在顶部提供链接,并且它正在工作:

let videoUrl = NSURL(string: "https://v.cdn.vine.co/r/videos/AA3C120C521177175800441692160_38f2cbd1ffb.1.5.13763579289575020226.mp4")!

因此,在ViewDidLoad中,self.player.setUrl(videoUrl)可以正常工作。

我尝试将Vine视频下载到我的本地。我将其保存为aaa.mp4

  • 我在xCode项目中拖动了mp4文件。

  • 我在Copy Bundle Resources

  • 中添加了该文件
  • 然后我用了;

    let path = NSBundle.mainBundle().pathForResource("aaa", ofType:"mp4")!
    let videoUrl = NSURL(string: path)!
    
    viewDidLoad() {
        // print(path)
        // print(videoUrl)
    
        self.player.setUrl(videoUrl)
      }
    

视频无法播放,但

print(path) - 给我: /Users/sentiasa/Library/Developer/CoreSimulator/Devices/67160785-1BDB-4046-BD58-A8C448938A4F/data/Containers/Bundle/Application/5456FF89-904F-4AE6-A90C-747B6A371745/Player.app/aaa.mp4

print(videoUrl) - 给了我: /Users/sentiasa/Library/Developer/CoreSimulator/Devices/67160785-1BDB-4046-BD58-A8C448938A4F/data/Containers/Bundle/Appl ... /aaa.mp4

请注意,如果我给路径一个不存在的文件名,它会抛出一个错误,因此我知道文件在那里(并且存在)。 可能是什么问题?我错过了什么?我没有收到任何警告或错误

1 个答案:

答案 0 :(得分:1)

使用

NSURL(fileURLWithPath: path)!

代替。