在我的应用中,我需要播放SD卡中的视频。现在它在Galaxy S,Galaxy Tab2上工作正常,但在某些中文标签上就像“Giada”一样,它根本不起作用。
我有4种不同的活动来播放视频。第一个活动播放菜单视频,其中包含指向其他活动的导航链接。我面临的问题。
视频扩展:MP4 分辨率:1024x600 来自:SDCard。
目标标签规范。
分辨率:1024x600 Android:4.1
尝试使用视频视图和SurfaceView。
帮助我,任何帮助都会被遗憾。
答案 0 :(得分:16)
这个问题的答案永远不会在所有设备或所有视频中保持一致。
给定视频文件是否会在给定播放器中播放取决于三件事:
编解码器和播放器/设备支持几乎可以肯定是您看到的结果不一致的原因。 (编解码器,如果您不知道,基本上是一个可重复的数学公式,它告诉您的系统如何将打包到文件中的位和字节转换成动态图像(并且再次返回)(
)视频文件中有各种各样的视频编解码器。由于视频分发的历史,对这些编解码器的支持非常不一致。许多设备不支持使用某些编解码器编码的流。造成这种情况的原因有很多,但最常见的是隐匿或许可成本。
例如,直到几年前,几乎所有内容都编码在带有On2 VP6 / VP7 / VP8编解码器的.FLV容器中。这引起了今天的麻烦,因为虽然On2拥有这些编解码器,但他们严格控制了许可证。直到.FLV已经开始失去相关性,并没有放松,所以没有很多(合法)软件可以使用On2编码的内容。
所有这一切意味着没有银弹。所有视频都不会在所有设备上运行,至少在没有安装和使用自己的编解码器来解码流的视频播放器的帮助下。
毋庸置疑,这不包括工厂安装的Android库为您和您的最终用户提供的库。
那么,你做什么的?好吧,如果没有生产带有自己编解码器的视频播放器,你可以通过两步法最有效地解决问题:
今天,MP4容器和使用H.264(AVC)编解码器编码的视频流可提供最广泛的支持。正如我所说的那样,没有任何灵丹妙药,并且H.264支持在任何方面都不普及,但由于其受欢迎程度和现代化的广泛支持,这种格式将比任何其他单一选择都可以播放更多潜在用户。桌面和移动环境。
您可能会发现一些有用的工具:
祝你好运!