我正在开发一款需要显示视频的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();
答案 0 :(得分:0)
作为一般规则,除非您绝对需要他们脱机工作,否则它就会更好。'流式传输视频而不是“构建”#39;他们进入你的应用程序我意识到这不是一个非常技术性的术语,对不同解决方案的需求会有所不同,但在服务器端保留视频会减小应用程序的大小,并且无需升级应用程序即可轻松更新视频。
常见的流技术也支持多种分辨率和比特率。
顺便说一句,你确定mp4视频没有使用'主线配置文件' - 较旧且功能较低的Android设备通常只支持基线配置文件'您可以通过查看属性或获取视频文件的信息,在雾平台上轻松查看。