当设备分辨率较低时,Android上的本地视频无法播放

时间:2015-06-10 13:17:01

标签: android video mp4 android-videoview

我正在开发一款需要显示视频的Android应用。我的客户给了我一些mp4视频(有一种可接受的Android格式),它们在Nexus 5上正常播放。

但是当我尝试使用分辨率较低的设备时,他们不再拥有图像(它们会变黑)并且只播放声音。一个弹出窗口也说'#34;不能播放这个视频"。 视频只有在我降低分辨率时才会起作用(看起来它们不能高于设备分辨率)

确保所有视频至少能够播放分辨率为~480x800的设备的最佳策略是什么?制作不同版本的文件并将它们放在dpi文件夹中?或者说服我的客户在线播放它们?

我使用视频视图显示它们并将它们放在资源的原始文件夹中。我的代码如下所示:

setContentView(R.layout.videoActivity);
VideoView videoView = (VideoView) findViewById(R.id.videoView);
MediaController mc = new MediaController(this);
videoView.setMediaController(mc);

videoView.setVideoPath("android.resource://" + getPackageName() + "/" + R.raw.asset1);
videoView.requestFocus();
videoView.start();

1 个答案:

答案 0 :(得分:0)

作为一般规则,除非您绝对需要他们脱机工作,否则它就会更好。'流式传输视频而不是“构建”#39;他们进入你的应用程序我意识到这不是一个非常技术性的术语,对不同解决方案的需求会有所不同,但在服务器端保留视频会减小应用程序的大小,并且无需升级应用程序即可轻松更新视频。

常见的流技术也支持多种分辨率和比特率。

顺便说一句,你确定mp4视频没有使用'主线配置文件' - 较旧且功能较低的Android设备通常只支持基线配置文件'您可以通过查看属性或获取视频文件的信息,在雾平台上轻松查看。