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 Penulis Sink 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 informasi berbagi bandwidth dan 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 dari antarmuka IWMReaderCallbackAdvanced .
IWMReaderCallback Menyediakan metode panggilan balik untuk metode Mulai dan BukaIWMReader.
IWMReaderCallbackAdvanced Menyediakan metode panggilan balik untuk metode antarmuka IWMReaderAdvanced .
IWMStatusCallback Diperlukan ketika informasi status harus dikomunikasikan ke aplikasi host.

 

Objek

Membaca File ASF

Objek Pembaca Sinkron