让视频播放器与本地视频一起使用

时间:2015-10-28 22:13:39

标签: ios swift video avfoundation avplayer

我尝试使用我在网上找到的这款播放器播放本地视频,这是处理获取视频网址的代码。它似乎适用于本地视频,但当我尝试它不起作用。

private var filepath: String!
public var path: String! {
    get {
        return filepath
    }
    set {
        // Make sure everything is reset beforehand
        if(self.playbackState == .Playing){
            self.pause()
        }

        self.setupPlayerItem(nil)

        filepath = newValue
        let remoteUrl: NSURL? = NSURL(string: newValue)
        if remoteUrl != nil && remoteUrl?.scheme != nil {
            let asset = AVURLAsset(URL: remoteUrl!, options: .None)
            self.setupAsset(asset)

        } else {
            let localURL: NSURL? = NSURL(fileURLWithPath: newValue)
            let asset = AVURLAsset(URL: localURL!, options: .None)
            self.setupAsset(asset)

        }
    }
}

我将此代码放在另一个视图控制器中,我想要运行视频并设置下面声明的URL变量的路径...

let path = NSBundle.mainBundle().pathForResource("VideoName", ofType: "mov")

由于某种原因,它不起作用。我最有可能做错了什么。发生了什么事?如果您需要更多信息,请回复。谢谢!

1 个答案:

答案 0 :(得分:0)

我想您想使用浏览器播放本地视频文件?

出于安全原因,浏览器通常无法自行访问本地文件,但您可以允许用户选择本地视频文件,然后在浏览器中播放。从安全的角度来看,这是有道理的,因为用户必须实际选择视频,因此他们默认批准播放。

有一个很好的工作示例,包括在这个答案中执行此操作的代码: