【问题标题】:local videos on android not playing when device resolution is lower当设备分辨率较低时,Android 上的本地视频无法播放
【发布时间】:2015-08-25 18:35:19
【问题描述】:

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

但是,当我尝试使用分辨率较低的设备时,它们不再有图像(它们是黑色的),只有声音在播放。弹出窗口还显示“无法播放此视频”。 视频只有在我降低分辨率时才有效(似乎它们不能高于设备分辨率)

确保所有视频至少可以在分辨率约为 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();

【问题讨论】:

    标签: android video mp4 android-videoview


    【解决方案1】:

    作为一般规则,除非您绝对需要它们离线工作,否则流式传输视频比将它们“构建”到您的应用中“更好”。我意识到这不是一个非常专业的术语,不同解决方案的需求会有所不同,但将视频保留在服务器端会减少应用程序的大小,并且无需升级应用程序即可轻松更新视频。

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

    顺便说一句,您确定 mp4 视频没有使用“主线配置文件” - 较旧和功率较低的 Android 设备通常只能支持“基准配置文件”吗?通过查看属性或获取有关视频文件的信息,您可以在雾平台上相当轻松地进行检查。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-01
      • 1970-01-01
      • 2015-06-05
      • 1970-01-01
      • 2017-04-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多