安卓:我应该使用什么视频格式/编码来支持大多数安卓设备?

3
我有一组视频剪辑,用户应该能够从我的应用程序内部播放(而不是外部视频播放器)。我正在使用带有MediaController的VideoView。在我的Desire HD和Nexus S上(均运行Android 2.3.3),一切都按预期工作。然而,在其他设备上无法播放。我得到了“抱歉,无法播放此视频”的错误消息。
所有视频均为mp4格式,使用H.264编码,分辨率为720w/480h,帧速率为25fps。我还尝试使用H.263(3gp)格式,但没有成功。
我想尽可能支持多种Android设备。至少从2.1版本开始支持。
是否有人遇到过相同的问题?在您的应用程序中使用哪些视频?感谢帮助!
2个回答

5
您可以使用一些第三方媒体库扩展您的应用程序所支持的格式,这里有一个很好的选择Vitamio
媒体格式 除了Android平台内置的默认媒体格式之外,许多音频和视频编解码器都打包在Vitamio中,以下是其中一些:
divx/xvid wmv flv ts rmvb mkv mov m4v avi mp4 3gp 应该不难将其集成到您的项目中并使用它,尽管我不知道它在像2.1这样的旧Android设备上运行的性能如何:
Vitamio提供与Android默认MediaPlayer框架相似的接口。如果您在项目中使用android.media.MediaPlayer,则只需从以上获取vitamio.jar,然后将其添加到项目的libs中,并替换android.media.MediaPlayer导入为io.vov.vitamio.MediaPlayer。
希望这可以帮助到您。

我使用了几个工具来转换视频,最终我让它们正常工作了。我使用了带有x264编解码器的Handbrake。 感谢您在这里分享Vitamio链接。 - Marqs

2
谷歌在其网站上列出了一个列表:http://developer.android.com/guide/appendix/media-formats.html。3GPP和MP4似乎是最兼容的格式。它还列出了强制性的配置文件,因此您应该能够得到一些进展。
说实话,在Android的后续版本中,视频播放的兼容性较差,除非您在应用程序中捆绑解码器(我购买了一个软件H264解码器作为备选)。这也是我放弃为Android编写游戏的原因之一,但对于应用程序收入仍然很好;-)

我已经阅读了这份文件并使用了视频推荐,但仍然没有成功 :/ - Marqs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接