2015-06-15 15 views
8

Uygulamamda 4K video oynatmaya çalışıyorum, ancak tüm cihazlar 4K videoları oynatamıyorsa bazı sıkıntılarım var.Android cihaz desteği 4K video olup olmadığını kontrol edin?

  • Eğer video oynatılmadan önce bu aygıt destekliyorsa veya oynatmıyorsa çalışma zamanında nasıl kontrol edebilirim?
+0

Saatlerce üzerinde Ar-Ge çalıştım ama bu konuyla ilgili herhangi bir veri bulamıyorum ... sadece telefon desteği alıp almayacağını bilmek istiyorum? –

+0

Cihaz 4k videoları desteklediğinde ne demek istiyorsunuz? Cihazın videoyu oynatmak için kaynakları olup olmadığını mı kastediyorsunuz? – hasan83

+0

@Jordi Castilla minSdkVersion lütfen? Alos, Camera2API api'yi de kullanıyorsanız bana haber ver. –

cevap

5

Her şeyden önce, 4k'nın sadece bir çözünürlük olduğunu hatırlamanız gerekir, fakat aynı zamanda bit hızını da hatırlamanız gerekir.

boolean areSizeAndRateSupported (int width, int height, double frameRate) 

https://developer.android.com/reference/android/media/MediaCodecInfo.VideoCapabilities.html#areSizeAndRateSupported(int,%20int,%20double)

de bulunmaktadır:

isSizeSupported(int width, int height) 

Bu yöntemlerin sadece olumsuz Burada

çözünürlük/bit kombinasyonu belli bir cihaz ile elde olup olmadığını test etmek için bir yöntem olup bu API düzeyi 21'den desteklenir.

Ayrıca bu yöntemi kullanarak codec'i yetenekleri kontrol edebilirsiniz:

MediaCodecInfo.VideoCapabilities.getVideoCapabilities() 

https://developer.android.com/reference/android/media/MediaCodecInfo.CodecCapabilities.html#getVideoCapabilities()

Ama bildiğim kadarıyla, aslında desteklenen daha düşük çözünürlüğe döndürebilir. Diğer taraftan, sizin durumunuzda, android lolipopun altındaki cihazlar büyük olasılıkla 4k video oynatmaya yetecek kadar hızlı değildirler. Ya da olsa bile, çözünürlükleri aslında 4k çözünürlükten herhangi bir fayda elde etmek için çok düşük.

Bence, en zarif çözüm 4K'nın android 5.0'ın altında desteklenmediğini ve android 5.0+ üzerinde desteklenip desteklenmediğini kontrol etmektir.

İlgili konular