Membaca File dengan Pembaca Asinkron

Pembaca asinkron membaca konten dari file ASF menggunakan beberapa utas dan panggilan asinkron. Fitur yang didukung oleh pembaca asinkron membuatnya sangat cocok untuk aplikasi yang merender konten kepada pengguna akhir.

Fungsionalitas paling mendasar dari objek pembaca dapat dipecah menjadi langkah-langkah berikut. Dalam langkah-langkah ini "aplikasi" mengacu pada program yang Anda tulis menggunakan SDK Format Media Windows.

  1. Aplikasi ini mengimplementasikan antarmuka IWMReaderCallback untuk menangani pesan dari pembaca. Ini termasuk dua metode panggilan balik: OnStatus, yang menerima pesan yang berkaitan dengan status berbagai aspek pembaca dan OnSample, yang menerima sampel yang tidak dikompresi dari pembaca.
  2. Aplikasi meneruskan ke pembaca nama file yang akan dibaca. Saat pembaca membuka file, pembaca menetapkan nomor output untuk setiap aliran. Jika file menggunakan pengecualian timbal balik, pembaca menetapkan satu output untuk semua aliran yang saling eksklusif.
  3. Aplikasi ini mendapatkan informasi tentang konfigurasi berbagai output dari pembaca. Informasi yang dikumpulkan akan memungkinkan aplikasi untuk merender sampel media dengan benar.
  4. Aplikasi menginstruksikan pembaca untuk mulai membaca data dari file. Pembaca mulai mengirimkan sampel yang tidak dikompresi ke panggilan balik OnSample satu per satu dalam buffer yang dibungkus dalam objek buffer. Sampel yang dikirimkan oleh pembaca berada dalam urutan waktu presentasi. Pembaca akan terus mengirimkan sampel sampai dihentikan oleh aplikasi atau sampai akhir file tercapai.
  5. Aplikasi bertanggung jawab untuk merender data setelah dikirimkan oleh pembaca. SDK Format Media Windows tidak menyediakan rutinitas penyajian apa pun. Biasanya, aplikasi akan menggunakan SDK lain untuk merender data, seperti Microsoft DirectX® SDK, atau fungsi multimedia microsoft SDK Platform Windows.
  6. Ketika pembacaan selesai, aplikasi menginstruksikan pembaca untuk menutup file.

Langkah-langkah ini diilustrasikan dalam aplikasi sampel AudioPlayer, antara lain. Untuk informasi selengkapnya, lihat Aplikasi Sampel.

Pembaca juga mendukung fungsionalitas yang lebih canggih. Pembaca memungkinkan Anda melakukan hal berikut:

  • Jeda pemutaran file.
  • Mengambil statistik performa pembaca.
  • Mengontrol pemilihan aliran untuk aliran yang saling eksklusif.
  • Alokasikan buffer secara manual untuk output.
  • Berikan jam Anda sendiri.
  • Ambil status operasi file (buffering, unduh, atau simpan).
  • Buka file menggunakan antarmuka COM standar, IStream.
  • Cari titik tertentu dalam file ASF.
  • Membaca data profil dari header file.

Bagian berikut menjelaskan penggunaan objek pembaca secara rinci.

Membaca File ASF

Objek Pembaca