如何知道哪些Android设备支持视频播放?

时间:2013-02-07 23:48:16

标签: android android-emulator video-streaming android-videoview

我已经制作了一个应用来查看Android设备上的藤蔓视频。这些基本上是.mp4视频加载到VideoView。从以下文档(http://developer.android.com/guide/appendix/media-formats.html)开始,Android版本3+设备支持mp4视频播放。

我已经在清单文件中添加了android:minSdkVersion="11"来过滤掉下载应用程序的旧Android版本,但我仍然会收到运行较新版Android的用户的反馈(例如4.1,4.2)抱怨收到“视频无法播放”错误消息。

由于没有办法(我知道,如果我错了请纠正我)使用模拟器测试视频播放,我真的不知道发生了什么。

有没有办法检查设备是否有能力进行视频播放,或者至少让模拟器播放视频,这样我才能正确解决这个问题?

概率pd。对于那些感兴趣的人,这里是我在谷歌播放中的应用程序的链接。正如你所看到的,我被负面评论压垮了:https://play.google.com/store/apps/details?id=com.thirtymatches.vineflow

1 个答案:

答案 0 :(得分:1)

如果仔细查看Google兼容性矩阵,您会发现对Android 3.0版本启动了对MP4 / H264 编码的支持。所有Android设备都支持MP4 / H.264的播放回到Android 1.0,因此您无需限制新版Android的可用性(除非您有其他API兼容性需求)。

通过VideoView,所有这些设备上的视频播放都是使用手机芯片组提供的硬件解码器完成的。因此,为了保证兼容性,必须将视频编码为最低公分母。 Google在您关联的页面底部提供“视频编码建议”; I also wrote an answer描述了我们如何转码为可在所有Android设备上播放的MP4 / H264形式。

不知道Vine正在使用他们的视频片段做什么,可能是视频并非都使用统一的编码器参数进行编码。他们可能会直接从手机上取下视频,然后无需任何额外的服务器端处理即可将其直接传输以确保广泛的兼容性;我不知道。如果是这种情况,您可能会发现开发一个可以显示内容的Android应用程序具有挑战性,无需a)实现您自己的软件编解码器(如RockPlayer,MX Player或VLC等应用程序)或b)在服务器上转码视频(这可能会违反Vine的服务条款。)

相关问题