2013-02-07 78 views
1

我已经做了一个应用程序来查看Android设备上的藤蔓视频。这些基本上是.mp4视频被加载到VideoView。从以下文档(http://developer.android.com/guide/appendix/media-formats.html)中,Android版本3+设备支持mp4视频播放。如何知道哪些Android设备支持视频播放?

我已经在清单文件中添加了一个android:minSdkVersion="11"以从下载应用程序中过滤出旧的Android版本,但我仍然从运行新版Android(例如4.1,4.2)的用户那里得到反馈,这些新版本抱怨得到“视频无法播放”的错误信息。

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

有没有什么办法来检查设备的做视频播放,或者至少拿到模拟器播放视频的能力,这样我就可以正确地解决这个问题?

pd。对于那些有兴趣的人,这里有一个链接到我的应用程序在谷歌播放。正如你所看到的,我被粉碎的负面评价:https://play.google.com/store/apps/details?id=com.thirtymatches.vineflow

回答

1

如果你在谷歌的兼容性矩阵仔细观察,你会看到MP4/H264编码的支持开始了Android 3.0版本。 MP4/H.264的播放已经被所有的Android设备回至Android 1.0的支持,所以没有必要为你的可用性限制到Android的新版本(除非你有其他的API兼容性需求)。

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

不知道什么藤与他们的视频剪辑这样做,它可能是视频是不是所有的编码具有统一编码器参数。他们可能会将视频直接从手机中取出,并在没有任何额外的服务器端处理的情况下进行流式传输,以确保广泛的兼我不知道。如果是这种情况,您可能会发现开发一款Android应用程序具有挑战性,该应用程序可以显示内容,而无需实现自己的软件编解码器(像RockPlayer,MX Player或VLC那样的应用程序)或者b)在服务器上转码视频这可能会违反Vine的服务条款)。

+1

读您的文章,看到这是不是一个前/后的Android版本3+发出后,我试图采取不同的方法,什么最终解决这个问题是下载的MP4视频的设备,然后打它。所以,基本上从videoView.setVideoURL切换到videoView.setVideoPath解决了这个问题。 – Henrique

相关问题