Prima di tutto, devi ricordare che 4k è solo una risoluzione, ma devi anche ricordare il bitrate.
Ecco un metodo per verificare se la risoluzione/combinazione bitrate è realizzabile su un determinato dispositivo:
boolean areSizeAndRateSupported (int width, int height, double frameRate)
https://developer.android.com/reference/android/media/MediaCodecInfo.VideoCapabilities.html#areSizeAndRateSupported(int,%20int,%20double)
C'è anche:
isSizeSupported(int width, int height)
L'unico inconveniente di questi metodi è che è supportato dal livello API 21.
È inoltre possibile controllare le capacità del codec con questo metodo:
MediaCodecInfo.VideoCapabilities.getVideoCapabilities()
https://developer.android.com/reference/android/media/MediaCodecInfo.CodecCapabilities.html#getVideoCapabilities()
Ma per quanto ne so, si può tornare più bassa risoluzione che effettivamente sostenuto.
D'altra parte, nel tuo caso, i dispositivi al di sotto del lecca-lecca Android probabilmente non sono abbastanza veloci per riprodurre video 4K. O anche se possono, la loro risoluzione è troppo bassa per ottenere effettivamente alcun beneficio dalla risoluzione 4K.
Quindi, a mio parere, la soluzione più elegante è supporre che 4k non sia supportato da Android 5.0 e utilizzare un metodo da sopra per verificare se è supportato su Android 5.0 o versioni successive.
ho provato R & D su di esso per ore ma non riesco a trovare alcun dato riguardante questo problema ... voglio solo sapere se il telefono lo supporta o no? –
Cosa intendi quando dici che il dispositivo supporta i video 4k? Vuoi dire se il dispositivo ha le risorse per riprodurre il video? – hasan83
@Jordi Castilla minSdkVersion per favore? Alos, fammi sapere se stai utilizzando anche l'API di Camera2API? –