Konstanta AUDCLNT_STREAMFLAGS_XXX

Menentukan karakteristik yang dapat ditetapkan klien ke aliran audio selama inisialisasi aliran.

Konstanta/nilai Deskripsi
AUDCLNT_STREAMFLAGS_CROSSPROCESS
0x00010000
Aliran audio akan menjadi anggota sesi audio lintas proses. Untuk informasi selengkapnya, lihat Keterangan.
AUDCLNT_STREAMFLAGS_LOOPBACK
0x00020000
Aliran audio akan beroperasi dalam mode loopback. Untuk informasi selengkapnya, lihat Keterangan.
AUDCLNT_STREAMFLAGS_EVENTCALLBACK
0x00040000
Pemrosesan buffer audio oleh klien akan didorong oleh peristiwa. Untuk informasi selengkapnya, lihat Keterangan.
AUDCLNT_STREAMFLAGS_NOPERSIST
0x00080000
Pengaturan volume dan bisukan untuk sesi audio tidak akan bertahan di seluruh mulai ulang aplikasi. Untuk informasi selengkapnya, lihat Keterangan.
AUDCLNT_STREAMFLAGS_RATEADJUST
0x00100000
Konstanta ini baru di Windows 7. Laju sampel aliran disesuaikan dengan laju yang ditentukan oleh aplikasi. Untuk informasi selengkapnya, lihat Keterangan.
AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM
0x80000000
Matrikser saluran dan pengonversi laju sampel dimasukkan seperlunya untuk mengonversi antara format yang tidak dikompresi yang disediakan ke IAudioClient::Initialize dan format campuran mesin audio.
AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY
0x08000000
Saat digunakan dengan AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM, konverter laju sampel dengan kualitas yang lebih baik daripada konversi default tetapi dengan biaya performa yang lebih tinggi digunakan. Ini harus digunakan jika audio pada akhirnya dimaksudkan untuk didengar oleh manusia dibandingkan dengan skenario lain seperti memompa keheningan atau mengisi meteran.

Keterangan

Metode IAudioClient::Initialize dan struktur DIRECTX_AUDIO_ACTIVATION_PARAMS menggunakan konstanta AUDCLNT_STREAMFLAGS_XXX.

Bendera AUDCLNT_STREAMFLAGS_CROSSPROCESS menunjukkan bahwa sesi audio untuk aliran adalah sesi lintas proses. Sesi lintas proses dapat menerima aliran dari lebih dari satu proses. Jika dua aplikasi dalam dua proses terpisah memanggil IAudioClient::Initialize dengan GUID sesi yang identik, dan kedua aplikasi mengatur bendera AUDCLNT_SHAREMODE_CROSSPROCESS, maka mesin audio menetapkan alirannya ke sesi lintas proses yang sama. Bendera ini mengambil alih perilaku default, yaitu menetapkan aliran ke sesi khusus proses daripada sesi lintas proses. Bit bendera AUDCLNT_STREAMFLAGS_CROSSPROCESS tidak kompatibel dengan mode eksklusif. Untuk informasi selengkapnya tentang sesi lintas proses, lihat Sesi Audio.

Bendera AUDCLNT_STREAMFLAGS_LOOPBACK memungkinkan perekaman loopback. Dalam perekaman loopback, mesin audio menyalin aliran audio yang sedang diputar oleh perangkat titik akhir penyajian ke dalam buffer titik akhir audio sehingga klien WASAPI dapat menangkap aliran. Jika bendera ini diatur, metode IAudioClient::Initialize mencoba membuka buffer pengambilan pada perangkat penyajian. Bendera ini hanya berlaku untuk perangkat penyajian dan hanya jika panggilan Inisialisasi mengatur parameter ShareMode ke AUDCLNT_SHAREMODE_SHARED. Jika tidak, panggilan Inisialisasi akan gagal. Jika panggilan berhasil, klien dapat memanggil metode IAudioClient::GetService untuk mendapatkan antarmuka IAudioCaptureClient pada perangkat penyajian. Untuk informasi selengkapnya, lihat Perekaman Loopback.

Bendera AUDCLNT_STREAMFLAGS_EVENTCALLBACK memungkinkan buffering berbasis peristiwa. Jika klien menetapkan bendera ini dalam panggilan ke IAudioClient::Initialize yang menginisialisasi aliran, klien kemudian harus memanggil metode IAudioClient::SetEventHandle untuk menyediakan handel peristiwa untuk aliran. Setelah streaming dimulai, mesin audio akan memberi sinyal handel peristiwa untuk memberi tahu klien setiap kali buffer siap untuk diproses oleh klien. WASAPI mendukung buffering berbasis peristiwa untuk penyajian dan pengambilan buffer. Aliran mode bersama dan mode eksklusif dapat menggunakan buffering berbasis peristiwa. Untuk contoh kode yang menggunakan bendera AUDCLNT_STREAMFLAGS_EVENTCALLBACK, lihat Stream Mode Eksklusif.

Bendera AUDCLNT_STREAMFLAGS_NOPERSIST menonaktifkan persistensi volume dan pengaturan bisukan untuk sesi yang berisi aliran penyajian. Secara default, tingkat volume dan status membisukan untuk sesi penyajian tetap ada di seluruh mulai ulang aplikasi. Tingkat volume dan status membisukan untuk sesi pengambilan tidak pernah persisten. Untuk informasi selengkapnya tentang persistensi volume sesi dan pengaturan bisukan, lihat Sesi Audio.

Bendera AUDCLNT_STREAMFLAGS_RATEADJUST memungkinkan aplikasi untuk mendapatkan referensi ke antarmuka IAudioClockAdjustment yang digunakan untuk mengatur laju sampel untuk aliran. Untuk mendapatkan penunjuk ke interace ini, aplikasi harus menginisialisasi klien audio dengan bendera ini lalu memanggil IAudioClient::GetService dengan menentukan pengidentifikasi IID_IAudioClockAdjustment . Untuk mengatur laju sampel baru, panggil IAudioClockAdjustment::SetSampleRate. Bendera ini hanya berlaku untuk perangkat penyajian. Jika tidak, panggilan GetService gagal dengan kode kesalahan AUDCLNT_E_WRONG_ENDPOINT_TYPE. Aplikasi juga harus mengatur parameter ShareMode ke AUDCLNT_SHAREMODE_SHARED selama panggilan Inisialisasi . SetSampleRate gagal jika klien audio tidak dalam mode bersama.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung
Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Header
Audiosessiontypes.h

Lihat juga

Konstanta Audio Inti

Antarmuka IAudioCaptureClient

IAudioClient::GetService

IAudioClient::Initialize

IAudioClient::SetEventHandle