UIView容器内的MPMoviePlayerControllers视图

时间:2015-04-16 17:02:29

标签: ios uiview mpmovieplayer

我试图在通用UIView容器中显示使用UIImagePickerController捕获的电影,但它无法正常工作。容器视图可见,但容器视图中未显示视频。

我已将我的代码放在didFinishPickingMediaWithInfo内,这是我迄今为止所做的。捕获正在工作,我得到一个有效的电影网址,但我不确定我是否可以/应该将moviePlayer.view作为子视图添加到容器中,如果它的大小正确。我希望scalingMode = .AspectFill能够解决这个问题。

@IBOutlet weak var videoContainer: UIView!

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
        dismissViewControllerAnimated(true, completion: nil)

        if let movieUrl = info[UIImagePickerControllerMediaURL] as? NSURL {
            println("Movie url found: \(movieUrl)")
            let moviePlayer = MPMoviePlayerController(contentURL: movieUrl)
            moviePlayer.controlStyle = MPMovieControlStyle.None
            moviePlayer.prepareToPlay()
            moviePlayer.scalingMode = .AspectFill
            videoContainer.addSubview(moviePlayer.view)
            moviePlayer.play()
        }

}

1 个答案:

答案 0 :(得分:1)

文档说:

  

玩家的框架必须与父母的

相匹配

我无法看到您尝试设置播放器视图框的任何代码行。 缩放模式与视图的帧无关。它用于定义视频内容在视图中实际缩放的方式