MP4 文件不在 MPMoviePlayerController 中播放?

Posted

技术标签:

【中文标题】MP4 文件不在 MPMoviePlayerController 中播放?【英文标题】:MP4 file not playing in MPMoviePlayerController? 【发布时间】:2012-12-04 08:43:20 【问题描述】:

我正在使用 MPMoviePlayerController 播放 .mp4 文件,而我正在测试 Windows 平台中录制的 .mp4 其工作正常,但是使用 android 录制的 .mp4 无法在我的 ios 设备(iPod touch)中播放,播放器继续缓冲它..任何想法可能是什么问题?请帮助我,如何在 MPMoviePlayerController 中调试问题。

        NSURL *file_url = [NSURL fileURLWithPath:filepath];
        moviePlayer =  [[MPMoviePlayerController alloc]
                        initWithContentURL:file_url];

        moviePlayer.controlStyle = MPMovieControlStyleDefault;
        moviePlayer.shouldAutoplay = YES;
       // moviePlayer.useApplicationAudioSession = YES;
        [self.view addSubview:moviePlayer.view];
        [moviePlayer setFullscreen:YES animated:YES];

谢谢

【问题讨论】:

从 iOS 录制的 Mp4 文件,windows 可以正常工作,但在 Android 上,它无法播放。 由于MP4只是一种容器文件格式,它没有定义使用的编解码器。所以android可能使用另一个编解码器。您可以通过在 VLC 中加载文件并检查使用的编解码器来检查这一点。如果iOS不支持android使用的代码,您将无法播放MPMoviePlayerController的文件。 我已经下载了文件并快速播放,播放正常。问题出在 MPMoviePlayerController 上。 不,问题是 iOS 没有正确的编解码器来播放文件。 QuickTime 将播放比 iOS 更多的文件。 @rckoenes 也许你是对的,有什么想法,我现在该怎么办? 【参考方案1】:

我找到了问题,iOS不支持Android录制的音频格式。现在我使用 AAC 录制,播放效果很好。

【讨论】:

以上是关于MP4 文件不在 MPMoviePlayerController 中播放?的主要内容,如果未能解决你的问题,请参考以下文章

HTML5 视频:ffmpeg 编码的 MP4 不在任何浏览器中播放(虽然在 VLC 中播放)

配置IIS让网站可以播放mp4文件

iOS H.265编码的MP4播放问题

将 .mp4.001 和 .mp4.002 文件映射到播放器

使用FFmpeg将RTP的数据包保存为mp4文件

php 显示文件 与Windows文件名排序一致