Codec media
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Mulai Android 10 (level API 29) dan yang lebih tinggi, ada metode di
MediaCodecInfo
yang
mengungkapkan informasi selengkapnya tentang codec:
isSoftwareOnly()
- Menampilkan nilai benar jika codec hanya berjalan di software. Codec software tidak memberikan jaminan tentang performa rendering.
isHardwareAccelerated()
- Menampilkan nilai benar jika codec dipercepat oleh hardware.
isVendor()
- Menampilkan nilai benar jika codec disediakan oleh vendor perangkat, atau salah jika disediakan oleh platform Android.
isAlias()
MediaCodecList
dapat memuat entri tambahan untuk codec dasar yang sama menggunakan nama codec alternatif (alias). Metode ini menampilkan nilai benar (true) jika codec dalam entri ini adalah alias untuk codec lain.
Selain itu, MediaCodec.getCanonicalName()
menampilkan nama codec dasar untuk codec yang dibuat melalui alias.
Poin performa menunjukkan kemampuan codec untuk merender video pada tinggi, lebar, dan frekuensi gambar (frame rate) tertentu. Misalnya, poin performa UHD_60
menunjukkan video Ultra High Definition (3840x2160 piksel) yang dirender pada 60 frame per detik.
Metode
MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()
menampilkan daftar entri
PerformancePoint
yang dapat dirender atau direkam oleh codec.
Anda dapat memeriksa apakah PerformancePoint
tertentu mencakup poin performa lainnya dengan memanggil
PerformancePoint.covers(PerformancePoint)
.
Misalnya, UHD_60.covers(UHD_50)
akan menampilkan nilai benar (true).
Daftar poin kinerja disediakan untuk semua codec yang diakselerasi oleh perangkat keras.
Daftar ini bisa jadi kosong jika codec tidak memenuhi poin performa standar terendah sekalipun.
Perhatikan bahwa perangkat yang telah diupgrade ke Android 10 (level API 29) dan yang lebih tinggi tanpa memperbarui image vendor tidak akan memiliki data poin performa, karena data ini berasal dari HAL vendor. Dalam hal ini, getSupportedPerformancePoints()
menampilkan null.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-27 UTC."],[],[],null,["Beginning with Android 10 (API level 29) and higher, there are methods in\n[`MediaCodecInfo`](/reference/android/media/MediaCodecInfo) that\nreveal more information about a codec:\n\n[`isSoftwareOnly()`](/reference/android/media/MediaCodecInfo#isSoftwareOnly)\n: Returns true if the codec runs in software only. Software codecs make no\n guarantees about rendering performance.\n\n[`isHardwareAccelerated()`](/reference/android/media/MediaCodecInfo#isHardwareAccelerated)\n: Returns true if a codec is accelerated by hardware.\n\n[`isVendor()`](/reference/android/media/MediaCodecInfo#isVendor)\n: Returns true if the codec is provided by the device vendor or false if provided\n by the Android platform.\n\n[`isAlias()`](/reference/android/media/MediaCodecInfo#isAlias)\n: `MediaCodecList` may contain additional entries for the same underlying codec\n using an alternate codec name/s (alias/es). This method returns true if the\n codec in this entry is an alias for another codec.\n\nIn addition,\n[`MediaCodec.getCanonicalName()`](/reference/android/media/MediaCodecInfo#getCanonicalName)\nreturns the underlying codec name for codecs created via an alias.\n\nPerformance Points\n\nA *performance point* represents a codec's ability to render video at a specific\nheight, width and frame rate. For example, the `UHD_60` performance point\nrepresents Ultra High Definition video (3840x2160 pixels) rendered at 60 frames\nper second.\n\nThe method\n[`MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()`](/reference/android/media/MediaCodecInfo.VideoCapabilities#getSupportedPerformancePoints())\nreturns a list of\n[`PerformancePoint`](/reference/android/media/MediaCodecInfo.VideoCapabilities.PerformancePoint)\nentries that the codec can render or capture.\n\nYou can check whether a given `PerformancePoint` covers another by calling\n[`PerformancePoint.covers(PerformancePoint)`](/reference/android/media/MediaCodecInfo.VideoCapabilities.PerformancePoint#covers(android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint)).\nFor example, `UHD_60.covers(UHD_50)` returns true.\n\nA list of performance points is provided for all hardware-accelerated codecs.\nThis could be an empty list if the codec does not meet even the lowest standard\nperformance point.\n\nNote that devices which have been upgraded to Android 10 (API level 29) and higher without\nupdating the vendor image will not have performance point data, because this\ndata comes from the vendor HAL. In this case, `getSupportedPerformancePoints()`\nreturns null."]]