无法在Cocoa-Touch App中播放mp4

时间:2011-06-26 13:47:34

标签: iphone cocoa-touch

我在检测到音频插孔中的信号后尝试播放mp4。 视频播放一次,延迟1秒,我不想要,然后应用程序冻结,我在调试器上收到此警告:(仅在iphone上,它正在进行模拟)

(8F190)/Symbols/System/Library/VideoDecoders/H264H4.videodecoder (file not found).
(8F190)/Symbols/System/Library/VideoDecoders/MP4VH4.videodecoder (file not found).

我的视频代码是:

//play video1
        url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"sample1" ofType:@"mp4"]]; 
        moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url]; 
        moviePlayer.useApplicationAudioSession=NO;
        [moviePlayer prepareToPlay];
        moviePlayer.controlStyle = MPMovieControlStyleDefault; 
        [moviePlayer setMovieControlMode:MPMovieControlModeHidden];
        moviePlayer.view.frame = CGRectMake(0, 0, 320, 480);
        [self.view addSubview:moviePlayer.view];
        [moviePlayer play];

我在网上找不到任何关于此警告的内容。

根据Apple文档,我尝试过任何类型的视频编码。 我们不能播放电影,有没有人知道如何解决它?

谢谢。

1 个答案:

答案 0 :(得分:1)

如果您运行该代码两次,视频将无法再次播放,因为您正在创建第二个MPMoviePlayerController和第二个视图,并且您应用中只有一个MPMoviePlayerController视图可以播放视频。所以它第一次工作,但不是第二次。您应该在属性中保留MPMovieVideoController,以便在尝试创建新视图之前删除其视图并释放MPMovieVideoController。