MediaCas Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
MediaCas dapat digunakan untuk mendapatkan kunci untuk merusak aliran media yang dilindungi, bersama dengan android.media.MediaDescrambler
.
[Android.Runtime.Register("android/media/MediaCas", ApiSince=26, DoNotGenerateAcw=true)]
public sealed class MediaCas : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IAutoCloseable
[<Android.Runtime.Register("android/media/MediaCas", ApiSince=26, DoNotGenerateAcw=true)>]
type MediaCas = class
inherit Object
interface IAutoCloseable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Warisan
- Atribut
- Penerapan
Keterangan
MediaCas dapat digunakan untuk mendapatkan kunci untuk merusak aliran media yang dilindungi, bersama dengan android.media.MediaDescrambler
. API MediaCas dirancang untuk mendukung akses bersyariah seperti yang ada di ISO/IEC13818-1. Sistem CA diidentifikasi oleh CA_system_id bilangan bulat 16-bit. Algoritma pengacak biasanya milik dan diimplementasikan oleh plugin CA khusus vendor yang diinstal pada perangkat.
Aplikasi ini bertanggung jawab untuk membangun objek MediaCas untuk sistem CA yang ingin digunakannya. Aplikasi dapat mengkueri jika sistem CA tertentu didukung menggunakan metode #isSystemIdSupported
statis . Ini juga dapat memperoleh seluruh daftar sistem CA yang didukung menggunakan metode #enumeratePlugins
statis .
Setelah objek MediaCas dibangun, aplikasi harus menyediakannya dengan benar dengan menggunakan metode #provision
dan/atau #processEmm
. EMM (Pesan manajemen pemberian pemberian izin) dapat didistribusikan di luar band, atau dalam band dengan aliran.
Untuk mendesak aliran dasar, aplikasi pertama-tama memanggil #openSession
untuk menghasilkan Session
objek yang akan mengidentifikasi sesi secara unik. Sesi menyediakan konteks untuk pembaruan kunci berikutnya dan aktivitas yang merusak. ECM (Pesan kontrol pemberian izin) dikirim ke sesi melalui metode Session#processEcm
.
Aplikasi selanjutnya membuat objek MediaDescrambler, dan menginisialisasinya dengan sesi menggunakan MediaDescrambler#setMediaCasSession
. Ini mengikat descrambler ke sesi, dan descrambler kemudian dapat digunakan untuk mendesak konten yang diamankan dengan kunci sesi, baik selama ekstraksi, atau selama decoding dengan android.media.MediaCodec
.
Jika aplikasi menangani ekstraksi sampel menggunakan ekstraktornya sendiri, aplikasi dapat menggunakan MediaDescrambler untuk mendesak sampel ke dalam buffer yang jelas (jika lisensi sesi tidak memerlukan dekode aman), atau menguraikan sejumlah kecil data untuk mengambil informasi yang diperlukan agar alur hilir memproses sampel (jika lisensi sesi memerlukan dekode aman).
Jika sesi memerlukan dekoder yang aman, MediaDescrambler perlu diberikan kepada MediaCodec untuk mendeskramble sampel yang diantrekan oleh MediaCodec#queueSecureInputBuffer
ke dalam buffer yang dilindungi. Aplikasi harus menggunakan MediaCodec#configure(MediaFormat, android.view.Surface, int, MediaDescrambler)
alih-alih metode normal MediaCodec#configure(MediaFormat, android.view.Surface, MediaCrypto, int)
untuk mengonfigurasi MediaCodec.
<h3>Menggunakan MediaExtractor</h3 Android>
Jika aplikasi menggunakan MediaExtractor
, aplikasi dapat mendelegasikan manajemen sesi CAS ke MediaExtractor dengan memanggil MediaExtractor#setMediaCas
. MediaExtractor akan mengambil alih dan memanggil #openSession
, #processEmm
dan/atau Session#processEcm
, dll.. jika perlu.
Saat menggunakan MediaExtractor
, aplikasi masih memerlukan MediaDescrambler untuk digunakan MediaCodec
jika lisensi memerlukan dekoder yang aman. Sesi yang terkait dengan descrambler trek dapat diambil dengan memanggil MediaExtractor#getCasInfo
, dan digunakan untuk menginisialisasi objek MediaDescrambler untuk MediaCodec.
<h3>Listeners</h3>
Aplikasi ini dapat mendaftarkan pendengar untuk menerima peristiwa dari sistem CA menggunakan metode #setEventListener
. Format yang tepat dari peristiwa ini khusus untuk skema dan tidak ditentukan oleh API ini.
Dokumentasi Java untuk android.media.MediaCas
.
Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.
Konstruktor
MediaCas(Context, Int32, String, Int32, Handler, MediaCas+IEventListener) |
Membuat instans sistem CA dari id sistem yang ditentukan. |
MediaCas(Context, Int32, String, Int32) |
Membuat instans sistem CA dari id sistem yang ditentukan. |
MediaCas(Int32) |
Membuat instans sistem CA dari id sistem yang ditentukan. |
Bidang
PluginStatusPhysicalModuleChanged |
Kedaluwarsa.
Peristiwa untuk menunjukkan bahwa status sistem CAS diubah oleh penghapusan atau penyisipan modul CAS fisik. |
PluginStatusSessionNumberChanged |
Kedaluwarsa.
Peristiwa untuk menunjukkan bahwa jumlah sesi sistem CAS diubah. |
ScramblingModeAes128 |
Kedaluwarsa.
Mode Enkripsi Tingkat Lanjut Sistem Enkripsi (AES) 128-bit. |
ScramblingModeAesCbc |
Kedaluwarsa.
Mode Advanced Encryption System (AES) Cipher Block Chaining (CBC). |
ScramblingModeAesEcb |
Kedaluwarsa.
Mode Advanced Encryption System (AES) Electronic Code Book (ECB). |
ScramblingModeAesScte52 |
Kedaluwarsa.
Advanced Encryption System (AES) Society of Cable Telecommunications Engineers (SCTE) mode 52. |
ScramblingModeDvbCissaV1 |
Kedaluwarsa.
DVB Common IPTV Software-oriented Scrambling Algorithm (CISSA) Versi 1. |
ScramblingModeDvbCsa1 |
Kedaluwarsa.
DVB (Digital Video Broadcasting) Common Scrambling Algorithm (CSA) 1. |
ScramblingModeDvbCsa2 |
Kedaluwarsa.
DVB CSA 2. |
ScramblingModeDvbCsa3Enhance |
Kedaluwarsa.
DVB CSA 3 dalam mode yang ditingkatkan sepenuhnya. |
ScramblingModeDvbCsa3Minimal |
Kedaluwarsa.
DVB CSA 3 dalam mode minimal ditingkatkan. |
ScramblingModeDvbCsa3Standard |
Kedaluwarsa.
DVB CSA 3 dalam mode standar. |
ScramblingModeDvbIdsa |
Kedaluwarsa.
ATIS-0800006 IIF Default Scrambling Algoritma (IDSA). |
ScramblingModeMulti2 |
Kedaluwarsa.
Algoritma kunci konten. |
ScramblingModeReserved |
Kedaluwarsa.
Mode cadangan DVB (Digital Video Broadcasting). |
ScramblingModeTdesEcb |
Kedaluwarsa.
Mode Buku Kode Elektronik (ECB) Triple Data Encryption Algorithm (TDES). |
ScramblingModeTdesScte52 |
Kedaluwarsa.
Triple Data Encryption Algorithm (TDES) Society of Cable Telecommunications Engineers (SCTE) mode 52. |
SessionUsageLive |
Kedaluwarsa.
Sesi Cas digunakan untuk mendesak streaming langsung. |
SessionUsagePlayback |
Kedaluwarsa.
Sesi Cas digunakan untuk mendesak aliran yang direkam. |
SessionUsageRecord |
Kedaluwarsa.
Sesi Cas digunakan untuk mendesak streaming langsung dan mengenkripsi konten yang direkam lokal |
SessionUsageTimeshift |
Kedaluwarsa.
Sesi Cas digunakan untuk mendesak streaming langsung, mengenkripsi konten yang direkam lokal dan memutar konten terenkripsi lokal. |
Properti
Class |
Mengembalikan kelas runtime dari . |
Handle |
Handel ke instans Android yang mendasar. (Diperoleh dari Object) |
JniIdentityHashCode |
MediaCas dapat digunakan untuk mendapatkan kunci untuk merusak aliran media yang dilindungi, bersama dengan |
JniPeerMembers |
MediaCas dapat digunakan untuk mendapatkan kunci untuk merusak aliran media yang dilindungi, bersama dengan |
PeerReference |
MediaCas dapat digunakan untuk mendapatkan kunci untuk merusak aliran media yang dilindungi, bersama dengan |
ThresholdClass |
API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. (Diperoleh dari Object) |
ThresholdType |
API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. (Diperoleh dari Object) |
Metode
Clone() |
Membuat dan mengembalikan salinan objek ini. (Diperoleh dari Object) |
Close() |
MediaCas dapat digunakan untuk mendapatkan kunci untuk merusak aliran media yang dilindungi, bersama dengan |
Dispose() |
MediaCas dapat digunakan untuk mendapatkan kunci untuk merusak aliran media yang dilindungi, bersama dengan |
Dispose(Boolean) |
MediaCas dapat digunakan untuk mendapatkan kunci untuk merusak aliran media yang dilindungi, bersama dengan |
EnumeratePlugins() |
Cantumkan semua plugin CA yang tersedia pada perangkat. |
Equals(Object) |
Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini. (Diperoleh dari Object) |
GetHashCode() |
Mengembalikan nilai kode hash untuk objek . (Diperoleh dari Object) |
IsSystemIdSupported(Int32) |
Kueri jika sistem CA tertentu didukung pada perangkat ini. |
JavaFinalize() |
Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek. (Diperoleh dari Object) |
Notify() |
Membangunkan satu utas yang menunggu monitor objek ini. (Diperoleh dari Object) |
NotifyAll() |
Membangunkan semua utas yang menunggu monitor objek ini. (Diperoleh dari Object) |
OpenSession() |
Buka sesi untuk mendeskramble satu atau beberapa aliran yang diacak oleh sistem akses bersyarkat. |
OpenSession(Int32, Int32) |
Buka sesi untuk mendeskramble satu atau beberapa aliran yang diacak oleh sistem akses bersyarkat. |
ProcessEmm(Byte[], Int32, Int32) |
Kirim paket EMM yang diterima ke sistem CA. |
ProcessEmm(Byte[]) |
Kirim paket EMM yang diterima ke sistem CA. |
Provision(String) |
Memulai operasi provisi untuk sistem CA. |
RefreshEntitlements(Int32, Byte[]) |
Beri tahu sistem CA untuk me-refresh kunci pemberian izin. |
SendEvent(Int32, Int32, Byte[]) |
Mengirim peristiwa ke sistem CA. |
SetEventListener(MediaCas+IEventListener, Handler) |
Atur pendengar peristiwa untuk menerima pemberitahuan dari instans MediaCas. |
SetHandle(IntPtr, JniHandleOwnership) |
Handle Mengatur properti. (Diperoleh dari Object) |
SetPrivateData(Byte[]) |
Kirim data privat untuk sistem CA. |
ToArray<T>() |
MediaCas dapat digunakan untuk mendapatkan kunci untuk merusak aliran media yang dilindungi, bersama dengan |
ToString() |
Mengembalikan representasi string objek. (Diperoleh dari Object) |
UnregisterFromRuntime() |
MediaCas dapat digunakan untuk mendapatkan kunci untuk merusak aliran media yang dilindungi, bersama dengan |
Wait() |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <diberitahu></em> atau <em>terganggu</em>. (Diperoleh dari Object) |
Wait(Int64, Int32) |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah real time telah berlalu. (Diperoleh dari Object) |
Wait(Int64) |
Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah real time telah berlalu. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
IJavaPeerable.Disposed() |
MediaCas dapat digunakan untuk mendapatkan kunci untuk merusak aliran media yang dilindungi, bersama dengan |
IJavaPeerable.DisposeUnlessReferenced() |
MediaCas dapat digunakan untuk mendapatkan kunci untuk merusak aliran media yang dilindungi, bersama dengan |
IJavaPeerable.Finalized() |
MediaCas dapat digunakan untuk mendapatkan kunci untuk merusak aliran media yang dilindungi, bersama dengan |
IJavaPeerable.JniManagedPeerState |
MediaCas dapat digunakan untuk mendapatkan kunci untuk merusak aliran media yang dilindungi, bersama dengan |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
MediaCas dapat digunakan untuk mendapatkan kunci untuk merusak aliran media yang dilindungi, bersama dengan |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
MediaCas dapat digunakan untuk mendapatkan kunci untuk merusak aliran media yang dilindungi, bersama dengan |
IJavaPeerable.SetPeerReference(JniObjectReference) |
MediaCas dapat digunakan untuk mendapatkan kunci untuk merusak aliran media yang dilindungi, bersama dengan |
Metode Ekstensi
JavaCast<TResult>(IJavaObject) |
Melakukan konversi jenis yang diperiksa runtime Bahasa Umum Android. |
JavaCast<TResult>(IJavaObject) |
MediaCas dapat digunakan untuk mendapatkan kunci untuk merusak aliran media yang dilindungi, bersama dengan |
GetJniTypeName(IJavaPeerable) |
MediaCas dapat digunakan untuk mendapatkan kunci untuk merusak aliran media yang dilindungi, bersama dengan |