【问题标题】:Maximum playable video resolution on AndroidAndroid 上可播放的最大视频分辨率
【发布时间】:2015-01-01 21:58:42
【问题描述】:
有没有办法提取 Android 可以播放的最大视频分辨率?我们有从相机下载的 MP4 文件,我想在播放前向用户显示一些错误。因为如果分辨率太高,安卓只会给你黑屏。
我尝试使用摄像机配置文件,但这个配置文件大部分时间为我提供 1920x1080,即使在可以处理更高分辨率的设备(如 Galaxy S5)上也是如此。
CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
非常感谢任何帮助!
【问题讨论】:
标签:
android
android-mediaplayer
android-mediacodec
【解决方案1】:
好的,
在 Android Lollipop 上
你可以用这个,
MediaCodecInfo.VideoCapabilities.areSizeAndRateSupported(int width, int height, double frameRate)
返回是否支持给定视频size (width and height) 和frameRate 组合。
在 Android
您可以只检查支持哪些 AVC 编解码器级别,这样您就可以得出支持的最大分辨率,但遗憾的是,这对于大多数设备来说是不正确的。例如,在 Nexus 5 上,Android 将返回 AVC 配置文件级别 4,这意味着您可以播放 1920x1080 视频。但是,Nexus 5 已经能够播放更高分辨率的视频,因此并不可靠。
目前仅适用于 Android