Bagikan melalui


DuckingMediaPlayer

Aplikasi sampel ini menunjukkan atenuasi aliran dengan mengimplementasikan pemutar media yang menunjukkan perilaku pelambatan default yang disediakan oleh sistem, memilih keluar dari peristiwa bebek, dan mengimplementasikan penanganan kustom saat peristiwa bebek diterima. Sampel ini harus digunakan bersama dengan DuckingCaptureSample. Untuk informasi selengkapnya tentang perenuhan bebek atau streaming, lihat Pengalaman Menunduk Default.

Topik ini berisi bagian berikut.

Deskripsi

Sampel ini menunjukkan fitur berikut.

  • DirectShow untuk memutar file media.
  • WASAPI untuk manajemen aliran dan penanganan peristiwa bebek.

Persyaratan

Produk Versi
Windows SDK Windows 7
Visual Studio 2008

 

Mengunduh Sampel

Sampel ini tersedia di lokasi berikut.

Lokasi Jalur/URL
Windows SDK \Program Files\Microsoft SDKs\Windows\v7.0\Samples\Multimedia\Audio\DuckingMediaPlayer\...

 

Membangun Sampel

Untuk membuat sampel DuckingMediaPlayer, gunakan langkah-langkah berikut:

  1. Buka DuckingMediaPlayer.sln di Visual Studio 2008.
  2. Dari dalam jendela, pilih konfigurasi solusi Debug atau Rilis , pilih menu Build dari bilah menu, dan pilih opsi Build . Jika Anda tidak membuka Visual Studio dari shell CMD untuk SDK, Visual Studio tidak akan memiliki akses ke lingkungan build SDK. Dalam hal ini, sampel tidak akan dibuat kecuali Anda secara eksplisit mengatur variabel lingkungan MSSdk, yang digunakan dalam file proyek, DuckingMediaPlayer.vcproj.

Menjalankan sampel

Jika Anda berhasil membangun aplikasi, file yang dapat dieksekusi, DuckingMediaPlayer.exe, dihasilkan. Untuk menjalankannya, pilih Mulai Penelusuran Kesalahan atau Mulai Tanpa Penelusuran Kesalahan dari menu Debug atau ketik DuckingMediaPlayer di jendela perintah.

Untuk melihat demonstrasi bebek, Anda harus menjalankan DuckingMediaPlayer dan DuckingCaptureSample secara bersamaan. DuckingCaptureSample membuka aliran komunikasi dan memberi sinyal sistem untuk menghasilkan peristiwa bebek. DuckingMediaPlayer diberi tahu oleh sistem ketika peristiwa bebek terjadi, dan pemutar media melakukan tindakan yang diminta oleh pengguna.

Untuk menonaktifkan perilaku bebek:

  1. Pada jendela DuckingCaptureSample, pilih Gunakan perangkat input default, dan klik Mulai untuk memulai sesi pengambilan dari perangkat komunikasi.
  2. Pada DuckingMediaPlayer, pilih file media untuk diputar, dan tentukan opsi bebek sebagai Menolak Bebek.

Perhatikan bahwa file media diputar tanpa gangguan. Peristiwa yang dihasilkan oleh sistem ketika aliran komunikasi yang dibuka diabaikan.

Untuk menunjukkan perilaku bebek default yang disediakan oleh sistem, lakukan hal berikut:

  1. Pilih opsi Suara dari panel kontrol. Pada tab Komunikasi, pilih Kurangi volume suara lain sebesar 80%.
  2. Pada jendela DuckingCaptureSample, pilih Gunakan perangkat input default, dan klik Mulai untuk memulai sesi pengambilan dari perangkat komunikasi.
  3. Pada DuckingMediaPlayer, pilih file media untuk diputar, tanpa memilih salah satu opsi bebek.
  4. Pada jendela DuckingCaptureSample, klik Hentikan untuk menghentikan aliran komunikasi.

Perhatikan bahwa ketika DuckingCaptureSample membuka aliran komunikasi, file media yang dimainkan oleh DuckingMediaPlayer diputar tanpa gangguan, tetapi tingkat volume diturunkan. Ketika sesi komunikasi dihentikan, volume diatur ulang ke pengaturan asli. Perilaku peledakan aliran ini adalah perilaku bebek default yang diterapkan oleh sistem.

Untuk melihat perilaku bebek yang disesuaikan yang diterapkan oleh pemutar media:

  1. Pada jendela DuckingCaptureSample, pilih Gunakan perangkat input default, dan klik Mulai untuk memulai sesi pengambilan dari perangkat komunikasi.
  2. Pada DuckingMediaPlayer, pilih file media untuk diputar, dan tentukan opsi bebek sebagai Jeda di Bebek.
  3. Pada jendela DuckingCaptureSample, klik Hentikan untuk menghentikan aliran komunikasi.

Perhatikan bahwa ketika DuckingCaptureSample membuka aliran komunikasi, file media yang dimainkan oleh DuckingMediaPlayer dijeda. Pemutaran dilanjutkan ketika sesi komunikasi dihentikan. Perilaku peredaman aliran ini adalah perilaku bebek yang diterapkan oleh pemutar media.

DuckingMediaPlayer juga menunjukkan cara mengintegrasikan kontrol volume untuk setiap aplikasi dengan mixer volume.

Untuk informasi selengkapnya tentang fitur atenuasi aliran, lihat Pengalaman Menunduk Default.

Sampel SDK yang Menggunakan API Audio Inti