【问题标题】:Play MP4 using MPMoviePlayerController() in Swift在 Swift 中使用 MPMoviePlayerController() 播放 MP4
【发布时间】:2014-06-22 10:48:30
【问题描述】:

我一辈子都想不出一种播放 MP4 的方法,它占据了 UIViewController 的整个背景。

到目前为止,我有以下内容,甚至根本不播放视频。

我可以确认bokeh.mp4 视频存在,因为如果我将文件更改为其他内容,则会引发错误,提示它丢失了。

override func viewDidAppear(animated: Bool)  {
    let filePath = NSBundle.mainBundle().pathForResource("bokeh", ofType: "mp4")
    self.moviePlayerController.contentURL = NSURL(string: filePath)
    self.moviePlayerController.prepareToPlay()
    self.moviePlayerController.repeatMode = .One
    self.moviePlayerController.controlStyle = .Embedded
    self.view.addSubview(self.moviePlayerController.view)
}

我在控制台中收到错误:

2014-06-22 21:22:42.347 MoviePlayer[26655:60b] _itemFailedToPlayToEnd: {
    kind = 1;
    new = 2;
    old = 0;
}

我也尝试添加一个占据整个屏幕的UIView 并将播放器添加到该视图,但这是同样的问题。它没有开始播放。

我正在尝试实现与 Vine 相同的效果,当您首次加载应用程序时,它会在后台播放视频。

【问题讨论】:

    标签: swift mpmovieplayercontroller nsnotificationcenter


    【解决方案1】:

    所以这很烦人:

    我所做的只是改变:

    self.moviePlayerController.contentURL = NSURL(string: filePath)
    

    收件人:

    self.moviePlayerController.contentURL = NSURL.fileURLWithPath(filePath)
    

    【讨论】:

    • 使用 NSBundle 中的 URLForResource 变体更好。
    • 因为不用自己做转换,简单些。
    • 我浪费了这么多时间试图找出原因......所以谢谢你救了我:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多