2015-06-15 9 views
8

Ich versuche, ein 4K-Video in meiner Anwendung zu spielen, aber solange alle Geräte 4K-Videos nicht wiedergeben können, habe ich einige Probleme.Überprüfen Sie, ob Android-Gerät 4K-Video unterstützt?

  • Wie kann ich zur Laufzeit überprüfen, ob dieses Gerät es unterstützt oder nicht, bevor das Video abgespielt wird?
  • +0

    Ich habe R & D seit Stunden versucht, aber kann keine Daten zu diesem Thema finden ... Ich will nur wissen, ob das Telefon es unterstützt oder nicht? –

    +0

    Was meinen Sie, wenn Sie sagen, dass das Gerät 4k Videos unterstützt? Meinst du, wenn das Gerät die Ressourcen zum Abspielen des Videos hat? – hasan83

    +0

    @Jordi Castilla minSdkVersion bitte? Alos, lassen Sie mich wissen, wenn Sie Camera2API API auch verwenden? –

    Antwort

    5

    Zunächst einmal müssen Sie daran denken, 4k ist nur eine Auflösung, aber Sie müssen auch über die Bitrate erinnern.

    Hier ist eine Methode zu testen, ob Auflösung/Bitrate Kombination auf einem bestimmten Gerät erreichbar ist:

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

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

    Es auch ist:

    isSizeSupported(int width, int height) 
    

    Der einzige Nachteil dieser Methoden ist, dass es von API-Ebene 21 unterstützt wird.

    Sie können auch Codec-Fähigkeiten mit dieser Methode überprüfen:

    MediaCodecInfo.VideoCapabilities.getVideoCapabilities() 
    

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

    Aber soweit ich weiß, kann sie niedrigere Auflösung zurückkehren, als tatsächlich unterstützt.

    Auf der anderen Seite sind in Ihrem Fall Geräte unter Android Lollipop höchstwahrscheinlich nicht schnell genug, um 4k Video zu spielen. Selbst wenn sie es können, ist ihre Auflösung zu gering, um tatsächlich von einer 4k-Auflösung profitieren zu können.

    Also, meiner Meinung nach, ist die eleganteste Lösung anzunehmen, dass 4k nicht unter Android 5.0 unterstützt wird und verwenden Sie eine Methode von oben überprüfen, ob es auf Android 5.0 + unterstützt wird.

    Verwandte Themen