MPMoviePlayerController 不播放本地视频
Posted
技术标签:
【中文标题】MPMoviePlayerController 不播放本地视频【英文标题】:MPMoviePlayerController doesn't play local Videos 【发布时间】:2013-12-05 09:27:28 【问题描述】:我正在尝试通过两种方法在 ios 6.0 中通过 MPMoviePlayerController 播放视频。
-
就在相机捕捉到它之后
来自相机胶卷
这是它的sn-p。
-(void) playMovie
self.moviePlayer = [[MPMoviePlayerController alloc] init];
[self.moviePlayer prepareToPlay];
[self.moviePlayer setContentURL:self.movieURL];
self.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
[self.moviePlayer.view setFrame:CGRectMake ( 0, 0, 320, 476)];
[self.view addSubview:self.moviePlayer.view];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:self.moviePlayer];
[self.moviePlayer play];
我尝试将属性moviePlayer
视为既强大又保留但没有用。
我的问题与Question 非常相似,视频在一秒钟内停止。但是,如果您正在通过 Internet 播放视频,则效果很好。
这是我尝试过的Git Source Code
【问题讨论】:
【参考方案1】:尝试像这样初始化self.moviePlayer
self.moviePlayer = [[MPMoviePlayerController alloc]initWithContentURL:[NSURL fileURLWithPath:contentPath]];
//contentPath is your movie file path
【讨论】:
也试过这个..没用...你可以看看我的github代码在函数playMovie
【参考方案2】:
我发现了这个问题。
我在 iPad 上使用它,因此我使用UIPopoverController
从库中选择视频,选择完成后我关闭didFinishPickingMediaWithInfo
中的弹出框并调用函数playMovie
(如上所述)
这里的问题是,如果关闭 popover,moviePlayer 也会被删除。
虽然我不明白为什么会发生这种情况,但我为此编写了一个解决方法,方法是全局保存 URL 路径并添加一个额外的播放按钮以在关闭弹出框后开始播放电影。完整代码为here
【讨论】:
以上是关于MPMoviePlayerController 不播放本地视频的主要内容,如果未能解决你的问题,请参考以下文章
MPMoviePlayerController 不播放本地视频
MPMoviePlayerController 随机不播放电影
MPMoviePlayerController 音频/视频不同步
MPMoviePlayerController 不播放本地文件