Perutean Aliran
Perutean streaming adalah kemampuan aplikasi media untuk beralih aliran antar perangkat dengan gangguan minimal ke pemutaran atau sesi pengambilan.
Komputer dapat memiliki beberapa perangkat penyajian dan pengambilan. Sistem mencantumkan perangkat ini pada panel kontrol Suara . Dari daftar ini, pengguna dapat mengatur perangkat menjadi perangkat default untuk setiap peran: pemutaran, perekaman, atau empat peran komunikasi (render konsol, pengambilan konsol, render komunikasi, atau pengambilan komunikasi). Daftar perangkat dapat dimodifikasi secara dinamis karena beberapa perangkat ini dapat tersedia sementara, misalnya headset USB. Saat beberapa perangkat tersedia, pengguna dapat mengubah default ke perangkat yang berbeda. Pengguna juga dapat mengubah format perangkat (laju sampel, bit per sampel, dan sebagainya) pada tab Tingkat Lanjut untuk properti perangkat.
Pertimbangkan skenario di mana pengguna memilih Speaker sebagai perangkat default untuk merender aliran audio. Pengguna kemudian menghubungkan headset USB, memilih headset sebagai perangkat default baru, dan mengubah laju sampel perangkat dari 44,1 kHz menjadi 48 kHz. Pengguna ingin memutar aliran audio pada headset pada tingkat sampel baru dengan gangguan minimal pada sesi streaming.
Dalam skenario ini, ada dua kasus yang harus ditangani aplikasi media:
- Aliran harus ditransfer ke perangkat default baru dengan gangguan minimal ke pemutaran.
- Perangkat baru harus melanjutkan pemutaran dalam format baru (yaitu, pengguna dapat mengubah lebih dari laju sampel).
Di Windows Vista, untuk mendukung skenario ini, aplikasi media harus menyediakan implementasi untuk perutean aliran. Aplikasi bertanggung jawab untuk mengakhiri aliran yang ada dan memulai ulang aliran pada perangkat baru. Jika pengguna mengubah perangkat default atau format campurannya berubah, maka semua sesi terkait ditutup dan aplikasi harus menangani pemulihan.
Di Windows 7, aplikasi dapat mentransfer aliran dengan mulus dari perangkat default yang ada ke titik akhir audio default baru. Set API audio tingkat tinggi seperti Media Foundation, DirectSound, dan WAVE API mengimplementasikan fitur perutean aliran. Aplikasi media yang menggunakan set API ini untuk memutar atau mengambil aliran dari perangkat default menggunakan implementasi default dan tidak perlu memodifikasi aplikasi. Namun, jika aplikasi media Anda menggunakan MMDeviceAPI atau WASAPI secara langsung, aplikasi perlu menyediakan implementasi perutean aliran.
Catatan
MMDeviceAPI dan WASAPI adalah komponen CORE Audio API yang dapat digunakan aplikasi untuk merender atau menangkap aliran pada perangkat. MMDeviceAPI menemukan perangkat titik akhir audio baru, dan WASAPI mengelola aliran data audio antara aplikasi media dan perangkat titik akhir audio.
Untuk menerapkan fitur perutean aliran, aplikasi harus mendengarkan pemberitahuan yang dikirim oleh MMDeviceAPI dan WASAPI saat:
- Perangkat default diubah oleh pengguna.
- Perangkat default yang ada dihapus dan perangkat default baru ditambahkan.
- Format perangkat diubah.
Dengan menangani pemberitahuan ini, aplikasi dapat melakukan operasi manajemen aliran yang diperlukan saat mentransfer aliran ke perangkat default baru. Selain itu, aplikasi dapat merender atau mengambil aliran yang ada dengan menggunakan format baru yang ditentukan oleh pengguna saat sesi penyajian aktif.
Bagian ini berisi topik berikut:
- Mendapatkan Titik Akhir Perangkat untuk Perutean Aliran
- Pemberitahuan yang Relevan untuk Perutean Aliran
- Pertimbangan Implementasi Perutean Aliran
Sampel berikut, yang disertakan dalam Windows SDK, menunjukkan bagaimana aplikasi dapat menangani pemberitahuan perutean aliran.
- RenderSharedTimerDriven
- RenderSharedEventDriven
- RenderExclusiveTimerDriven
- RenderExclusiveEventDriven
- CaptureSharedTimerDriven
- CaptureSharedEventDriven
Topik terkait