【发布时间】:2016-03-10 18:09:08
【问题描述】:
我正在使用 AVPlayerViewController 来在我的项目中播放 .mov 文件 (TeethingFinal.mov)。有趣的是,我的功能与同一个 ViewController 上的其他两个按钮完美配合,但由于某种原因无法启动 AVPlayer!正在识别点击手势,因为按下时我可以看到按钮突出显示但没有任何反应。我会发布错误消息,但没有!
@IBAction func sugarBugPlay(sender: UIButton) {
let moviePlayerController = AVPlayerViewController()
let path = NSBundle.mainBundle().pathForResource("TeethingFinal", ofType:"mov")
let url = NSURL.fileURLWithPath(path!)
let playerVC = AVPlayerViewController()
var player: AVPlayer = AVPlayer()
playerVC.player = AVPlayer(URL: url)
self.presentViewController(playerVC, animated: true, completion: nil)
}
【问题讨论】:
-
你能给我们展示一些有效的代码吗(你提到了其他被证明是成功的案例)?
-
上面的代码和我其他功能按钮的代码一样,只是换成了按钮名称。 @IBAction functoothEruptPlay(sender: UIButton) { let moviePlayerController = AVPlayerViewController() let path = NSBundle.mainBundle().pathForResource("TeethingFinal", ofType:"mov") let url = NSURL.fileURLWithPath(path!) let playerVC = AVPlayerViewController() var player: AVPlayer = AVPlayer() playerVC.player = AVPlayer(URL: url) self.presentViewController(playerVC, 动画: true, 完成: nil) }
-
你确定你的包中有那个文件(正确命名)吗?我看不出你的代码有什么问题,这就是为什么其他案例似乎有效而这个无效的原因让我感到困惑......
-
这也是让我困惑的地方。我什至将文件名更改为与其他 UIButton 一起使用的其他视频来测试它,但这也不起作用。我检查了连接,也一切正常。
-
疯狂猜测:您能否尝试将您的
AVPlayerController设为一个属性,以便您的控制器对它有一个强引用?所以不要在函数中声明它,而是将它移到外面并使其成为一个属性
标签: ios xcode swift avplayerviewcontroller