Objek Pembaca
[Fitur yang terkait dengan halaman ini, Windows Media Format 11 SDK , adalah fitur warisan. Ini telah digantikan oleh Pembaca Sumber dan Penulis Sink. Pembaca Sumber dan Penulis Sink telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan Pembaca Sumber dan Sink Writer alih-alih Windows Media Format 11 SDK , jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]
Objek pembaca membaca sampel data dari file media. Objek pembaca saat ini mendukung file menggunakan struktur file format sistem tingkat lanjut (ASF) serta file MP3. Data yang dikirimkan oleh objek pembaca tidak dikompresi dan siap untuk dirender secara default, meskipun sampel dapat dikirimkan tanpa didekompresi jika diinginkan. Sampel dikirimkan secara asinkron dari objek pembaca; Anda harus menyiapkan fungsi panggilan balik untuk menerimanya. Untuk pemutaran sinkron file ASF, gunakan objek pembaca sinkron. Pembaca maupun pembaca sinkron tidak merender data apa pun. Anda harus menyediakan rutinitas penyajian Anda sendiri untuk menampilkan media yang diambil dari file.
Ketika file berisi media yang dikodekan yang dapat didekodekan dengan codec yang didukung oleh objek pembaca, Anda dapat mengontrol format output yang tidak dikompresi. Untuk mengubah format output yang didekompresi untuk aliran, Anda harus mengambil objek properti media output default untuk aliran tersebut, membuat perubahan padanya, dan menetapkannya kembali ke aliran di pembaca. Objek properti media output berada di bawah objek pembaca dan hanya boleh dibuat dengan menggunakan metode IWMReader::GetOutputProps.
Objek pembaca dibuat oleh fungsi WMCreateReader, yang mengatur penunjuk ke antarmuka IWMReader. Antarmuka lain dari objek pembaca dapat diperoleh dengan memanggil metode QueryInterface.
Antarmuka berikut didukung oleh objek pembaca.
Antarmuka | Deskripsi |
---|---|
IReferenceClock | Menyediakan akses ke jam sistem yang digunakan oleh pembaca. |
IWMDRMReader | Mengelola akuisisi lisensi, properti DRM, dan individualisasi klien. |
IWMDRMReader2 | Menyediakan akses ke lisensi yang menggunakan tingkat perlindungan output (OPL) untuk menentukan hak. |
IWMHeaderInfo | Mengatur dan mengambil informasi header, termasuk metadata, penanda , dan data skrip. |
IWMHeaderInfo2 | Mengambil informasi tentang codec yang digunakan untuk mengodekan konten dalam file. Mewarisi semua metode IWMHeaderInfo. |
IWMHeaderInfo3 | Mendukung ukuran atribut besar, nama atribut duplikat, dan dukungan beberapa bahasa. Mewarisi semua metode IWMHeaderInfo dan IWMHeaderInfo2. |
IWMPacketSize | Mengambil ukuran paket terbesar dalam file yang dimuat di pembaca. |
IWMPacketSize2 | Mengambil ukuran paket terkecil dalam file yang dimuat di pembaca. |
IWMProfile | Menyediakan akses ke informasi profil file yang dimuat di pembaca. |
IWMProfile2 | Mengambil pengidentifikasi unik global (GUID), jika ada, yang terkait dengan profil. Mewarisi semua metode IWMProfile. |
IWMProfile3 | Mendukung berbagi bandwidth dan informasi prioritas aliran di profil. Mewarisi semua metode IWMProfile dan IWMProfile2. |
IWMReader | Menyediakan kemampuan pembacaan file dasar, termasuk operasi seperti membuka, menutup, memulai, menjeda, melanjutkan, menghentikan, dan mendapatkan dan mengatur properti output. |
IWMReaderAccelerator | Berkomunikasi dengan akselerasi video DirectX. |
IWMReaderAdvanced | Menyediakan fitur lanjutan pembaca, seperti jam yang disediakan pengguna, alokasi buffer, statistik pengembalian, dan pemberitahuan pemilihan streaming. |
IWMReaderAdvanced2 | Menyediakan rentang tambahan metode tingkat lanjut untuk objek pembaca yang ada. Mewarisi semua metode IWMReaderAdvanced. |
IWMReaderAdvanced3 | Menyediakan pencarian tingkat lanjut dan kontrol streaming. Mewarisi semua metode IWMReaderAdvanced dan IWMReaderAdvanced2. |
IWMReaderAdvanced4 | Menyediakan opsi pembaca tingkat lanjut termasuk dukungan beberapa bahasa. Mewarisi semua metode IWMReaderAdvanced, IWMReaderAdvanced2, dan IWMReaderAdvanced3. |
IWMReaderNetworkConfig | Mengontrol pengaturan konfigurasi jaringan. |
IWMReaderNetworkConfig2 | Menyediakan akses ke pengaturan konfigurasi jaringan tingkat lanjut. Mewarisi semua metode IWMReaderNetworkConfig. |
IWMReaderStreamClock | Mengatur dan membatalkan timer pada jam streaming, dan mengambil nilai jam streaming yang ditentukan saat ini. |
IWMReaderTimecode | Menyediakan informasi tentang rentang kode waktu SMPTE dalam file yang dimuat di pembaca. |
IWMReaderTypeNegotiation | Menguji apakah perubahan pada properti output aliran berfungsi dengan baik. |
Antarmuka panggilan balik berikut dapat diimplementasikan dalam aplikasi untuk melacak kemajuan objek pembaca.
Antarmuka | Deskripsi |
---|---|
IWMCredentialCallback | Memperoleh kredensial pengguna dan memeriksa bahwa mereka memiliki izin untuk mengakses situs jarak jauh. |
IWMReaderAllocatorEx | Menyediakan alternatif yang diperluas untuk metode AllocateForOutput dan AllocateForStream antarmuka IWMReaderCallbackAdvanced. |
IWMReaderCallback | Menyediakan metode panggilan balik untuk metode Mulai dan BukaIWMReader. |
IWMReaderCallbackAdvanced | Menyediakan metode panggilan balik untuk metode antarmukaIWMReaderAdvanced. |
IWMStatusCallback | Diperlukan saat informasi status harus dikomunikasikan ke aplikasi host. |
Topik terkait
-
Membaca File ASF