在响应式网站上检测移动设备的最大视频分辨率支持

正如标题所说,我正在寻找跨浏览器和主要跨平台解决方案来显示不同大小分辨率的 html5视频。 我的主要问题是,如果从标准/低分辨率设备访问高分辨率视频,它将不会播放,因为原生视频应用程序无法处理; 这在大多数老款/低预算Android设备上都是如此,它具有标准或低显示分辨率。

我最好的猜测是根据设备宽度mediaquery过滤视频源文件,例如if width < 480 --> use low-res video但这可能会排除高端设备,如iphones,galaxyS2 +等。 。

最后,我问是否有什么要查询像“最高视频分辨率支持”或类似。 我知道Android API中有一些东西,但我不知道它是否可以在这种情况下使用。

下面是我发现的一些链接供参考:

http://www.genuitec.com/mobile/docs/encodingVideo/encodingVideo.html http://developer.android.com/guide/appendix/media-formats.html#recommendations http://developer.android.com/参考/机器人/媒体/ CamcorderProfile.html


根据这篇文章,Android建议使用CamcorderProfile:http://developer.android.com/guide/appendix/media-formats.html#recommendations

他们说:

设备的可用视频记录配置文件可用作媒体播放功能的代理。 可以使用CamcorderProfile类对这些配置文件进行检查,该类自API级别8开始可用。

现在我现在也使用CamcorderProfile,如下所示检测最大视频宽度和高度:

  CamcorderProfile profile = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
    Log.d(TAG, "Max Width: " + profile.videoFrameWidth);
    Log.d(TAG, "Max Height: " + profile.videoFrameHeight);

起初,我不认为这是一个好的解决方案,因为有些设备需要在Android Manifest中使用相机权限(对于我来说这是HTC Evo 3D)的权限:

<uses-permission android:name="android.permission.CAMERA"/>

不幸的是,我也意识到它不能正常工作,因为对于我的Nexus S,它说最高分辨率为480x720像素,但我可以播放来自http://source.android.com/compatibility/downloads.html的1280x720视频。 #cts-media-files更多地相应的zip文件夹中的文件夹和文件名是:android-cts-media-1.0 bbb_short 1280x720 mp4_libx264_libfaac bbb_short.ffmpeg.1280x720.mp4.libx264_1750kbps_30fps.libfaac_stereo_192kbps_48000Hz.mp4

可能这种方法可以帮助你。

但我会很感激任何其他更适合的方法! 有谁知道另一种方式?

链接地址: http://www.djcxy.com/p/14727.html

上一篇: Detect max video resolution support for a mobile device on responsive website

下一篇: How to determine if the client is a touch device