iOS - 我无法使用 MPMoviePlayerController 重现视频

Posted

技术标签:

【中文标题】iOS - 我无法使用 MPMoviePlayerController 重现视频【英文标题】:iOS - I Can't reproduce a video with MPMoviePlayerController 【发布时间】:2014-11-05 15:37:36 【问题描述】:

我正在尝试通过这种方式使用 MPMoviePlayerController 重现视频:

    var url:NSURL = NSURL(fileURLWithPath: "/var/mobile/Containers/Data/Application/D64F96C8-B00F-41D8-AC38-DB07121D00FA/Documents/video_comp.mov", isDirectory: false)

    if (NSFileManager.defaultManager().fileExistsAtPath(url.path!)) 
        println("FILE EXISTS") //File exists
     else 
        println("FILE DOESN'T EXIST")
    

    var moviePlayer = MPMoviePlayerController(contentURL: url)
    moviePlayer.view.frame = CGRectMake(0, 0, 200, 200)
    self.view.addSubview(moviePlayer.view)

    moviePlayer.scalingMode = MPMovieScalingMode.AspectFit
    moviePlayer.shouldAutoplay = true
    moviePlayer.prepareToPlay()

    if moviePlayer.isPreparedToPlay 
        println("PREPARED")
     else 
        println("NOT PREPARED") //.isPreparedToPlay is always false
    

    moviePlayer.play()

但它从未被复制。首先,我检查了文件是否存在并且它存在。然后我检查了moviePlayer是否为PrepraredToPlay,但似乎在播放前没有准备好。你知道为什么我不能重现它吗?

谢谢

【问题讨论】:

***.com/questions/25034497/… 感谢您的评论@user523234 我曾尝试遵循此答案,但它对我不起作用。可能构建 MPMoviePlayerController 对象时出错。 【参考方案1】:

这对我有用:

 myPlayer = [[MPMoviePlayerController alloc] init];
[myPlayer setScalingMode:MPMovieScalingModeAspectFit];
// [myPlayer setControlStyle:MPMovieControlStyleFullscreen];
[myPlayer setContentURL:[NSURL fileURLWithPath:filePath]];
myPlayer.movieSourceType = MPMovieControlStyleEmbedded;
//myPlayer.fullscreen = YES;
myPlayer.view.frame = CGRectMake(0, 0, 200, 200);   //self.view.bounds;
[myPlayer prepareToPlay];
if(myPlayer.isPreparedToPlay)
    NSLog(@"preparada para verse!");
 else 
    NSLog(@"No preparada para verse!");

[self.view addSubview:myPlayer.view];
[myPlayer play];

在我的应用程序中,我使用全屏视频,但我已将全屏代码放入 cmets,并且我已根据您的尺寸更改了 self.view.bounds:CGRectMake(0,0,200,200)。有趣的是,我也收到了未准备好的消息,但视频效果很好! 希望对您有所帮助!

【讨论】:

以上是关于iOS - 我无法使用 MPMoviePlayerController 重现视频的主要内容,如果未能解决你的问题,请参考以下文章

IOS 6 - 自动旋转 MPMovieplayer

MPMoviePlayer默认控件按钮未对齐

向 MPMoviePlayer 添加 Airplay 支持

如何在使用 Swift 在 iOS 8 中播放电影时旋转 MPMoviePlayer?

如何使用 UISlider 在特定时间从 mpmovieplayer 听到声音?

如何知道 youtube 视频何时开始播放以及何时在 ios 的 web 视图中按下 mpmovieplayer 的完成按钮