0

我正在尝试在 iPhone 中播放视频,以下是我使用的代码。

它一直在加载,但视频不播放,我错过了什么吗?

播放器已启动,但仅显示正在加载,从不播放视频。

我还导入了 MediaPlayer/MediaPlayer.h

-(IBAction)play:(id)sender
{
NSBundle *bundle = [NSBundle mainBundle];
NSString *moviePath = [bundle pathForResource:@"test_output" ofType:@"mov"];


NSURL *url = [NSURL URLWithString:
             moviePath];

_moviePlayer =  [[MPMoviePlayerController alloc]
                 initWithContentURL:url];

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(moviePlayBackDidFinish:)
                                             name:MPMoviePlayerPlaybackDidFinishNotification
                                           object:_moviePlayer];
[_moviePlayer prepareToPlay];
_moviePlayer.controlStyle = MPMovieControlStyleDefault;
_moviePlayer.shouldAutoplay = YES;
[self.view addSubview:_moviePlayer.view];
[_moviePlayer setFullscreen:YES animated:YES];
     }


        - (void) moviePlayBackDidFinish:(NSNotification*)notification {
           MPMoviePlayerController *player = [notification object];
         [[NSNotificationCenter defaultCenter]
          removeObserver:self
          name:MPMoviePlayerPlaybackDidFinishNotification
          object:player];

if ([player
     respondsToSelector:@selector(setFullscreen:animated:)])
{
    [player.view removeFromSuperview];
}
 }

如屏幕截图所示,它只保持加载

4

3 回答 3

2

首先,检查您的电影文件是否已添加到您的项目中。

其次,尝试使用fileURLWithPath. 替换您的以下代码

NSURL *url = [NSURL URLWithString:moviePath];

NSURL *url = [NSURL fileURLWithPath:moviePath];
于 2014-08-23T06:24:22.513 回答
0

伙计,您的代码似乎是正确的。问题肯定出在 URL 上。仔细检查 url 是否正确。

于 2014-08-23T06:51:33.207 回答
0

我看不到任何调用 _moviePlayer.movi​​ePlayer 的播放方法的代码。

尝试将以下语句添加到您的代码中。

[_moviePlayer.movi​​ePlayer 播放];

在 [self.view addSubview:_moviePlayer.view] 之前添加此语句;

我希望这对你有用

于 2014-08-23T06:26:58.923 回答