2014-11-05 2 views
2

Есть ли способ извлечь максимальное разрешение видео, которое может играть Android? У нас есть файлы MP4, которые мы загружаем с камеры, и я хотел бы показать некоторые ошибки пользователю перед игрой. Потому что, если разрешение слишком велико, Android просто даст вам черный экран.Максимальное воспроизводимое видео разрешение на Android

Я пробовал использовать профиль видеокамеры, но это дает мне большую часть времени 1920x1080 даже на устройствах, которые могут обрабатывать более высокие разрешения, такие как Galaxy S5.

CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH); 

Любая помощь действительно оценена!

ответ

2

Хорошо,

на Android Lollipop

вы можете использовать это,

MediaCodecInfo.VideoCapabilities.areSizeAndRateSupported(int width, int height, double frameRate) 

который возвращает поддерживается ли данное видео size (width and height) и frameRate сочетание.

На Android < леденца

вы можете просто проверить, какую AVC Кодек уровней поддерживаются, чтобы вы могли получить максимальное поддерживаемое разрешение, которое, к сожалению, не является правильным для большинства устройств. Например, на Nexus 5 Android вернет уровень 4 AVC, что означает, что вы можете воспроизводить видеоролики 1920x1080. Однако Nexus 5 способен воспроизводить видео с более высоким разрешением, поэтому он не является надежным.

Только обходной путь на Android < 5 пока: попытайтесь воспроизвести видео и проверьте наличие ошибок. Это то, что делают HTC или другие устройства. В результате может случиться так, что на некоторых устройствах вы получите около 1 кадра каждые 2 секунды или около того.