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 重现视频的主要内容,如果未能解决你的问题,请参考以下文章