Metode IMMDeviceEnumerator::GetDefaultAudioEndpoint (mmdeviceapi.h)
Metode GetDefaultAudioEndpoint mengambil titik akhir audio default untuk arah dan peran aliran data yang ditentukan.
Sintaks
HRESULT GetDefaultAudioEndpoint(
[in] EDataFlow dataFlow,
[in] ERole role,
[out] IMMDevice **ppEndpoint
);
Parameter
[in] dataFlow
Arah aliran data untuk perangkat titik akhir. Pemanggil harus mengatur parameter ini ke salah satu dari dua nilai enumerasi EDataFlow berikut:
eRender
eCapture
Arah aliran data untuk perangkat penyajian adalah eRender. Arah aliran data untuk perangkat pengambilan adalah eCapture.
[in] role
Peran perangkat titik akhir. Pemanggil harus mengatur parameter ini ke salah satu nilai enumerasi ERole berikut:
eConsole
eMultimedia
eKomunikasi
Untuk informasi selengkapnya, lihat Keterangan.
[out] ppEndpoint
Arahkan ke variabel pointer tempat metode menulis alamat antarmuka IMMDevice dari objek titik akhir untuk perangkat titik akhir audio default. Melalui metode ini, pemanggil mendapatkan referensi yang dihitung ke antarmuka. Pemanggil bertanggung jawab untuk merilis antarmuka, ketika tidak lagi diperlukan, dengan memanggil metode Rilis antarmuka. Jika panggilan GetDefaultAudioEndpoint gagal, *ppDeviceADALAH NULL.
Nilai kembali
Jika metode berhasil, metode akan mengembalikan S_OK. Jika gagal, kemungkinan kode pengembalian disertakan, tetapi tidak terbatas pada, nilai yang diperlihatkan dalam tabel berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Parameter ppDevice adalah NULL. |
|
Aliran data parameter atau peran di luar rentang. |
|
Tidak ada perangkat yang tersedia. |
|
Kehabisan memori. |
Keterangan
Catatan
Di Windows Vista, MMDevice API mendukung peran perangkat tetapi program antarmuka pengguna yang disediakan sistem tidak. Antarmuka pengguna di Windows Vista memungkinkan pengguna memilih perangkat audio default untuk penyajian dan perangkat audio default untuk diambil. Ketika pengguna mengubah perangkat penyajian atau pengambilan default, sistem menetapkan ketiga peran perangkat (eConsole, eMultimedia, dan eCommunications) ke perangkat tersebut. Dengan demikian, GetDefaultAudioEndpoint selalu memilih perangkat penyajian atau pengambilan default, terlepas dari peran mana yang ditunjukkan oleh parameter peran . Di versi Windows yang akan datang, antarmuka pengguna mungkin memungkinkan pengguna untuk menetapkan peran individual ke perangkat yang berbeda. Dalam hal ini, pemilihan perangkat penyajian atau pengambilan oleh GetDefaultAudioEndpoint mungkin bergantung pada parameter peran . Dengan demikian, perilaku aplikasi audio yang dikembangkan untuk berjalan di Windows Vista mungkin berubah saat dijalankan di versi Windows yang akan datang. Untuk informasi selengkapnya, lihat Peran Perangkat di Windows Vista.
Metode ini mengambil perangkat titik akhir default untuk arah aliran data yang ditentukan (penyajian atau pengambilan) dan peran. Misalnya, klien bisa mendapatkan perangkat pemutaran konsol default dengan melakukan panggilan berikut:
hr = pDevEnum->GetDefaultAudioEndpoint(
eRender, eConsole, &pDeviceOut);
Dalam fragmen kode sebelumnya, hr variabel berjenis HRESULT, pDevEnum adalah penunjuk ke antarmuka IMMDeviceEnumerator , dan pDeviceOut adalah penunjuk ke antarmuka IMMDevice .
Sistem Windows mungkin berisi beberapa kombinasi perangkat titik akhir audio seperti speaker desktop, headphone dengan keakuratan tinggi, mikrofon desktop, headset dengan speaker dan mikrofon, dan speaker multisaluran dengan keakuratan tinggi. Pengguna dapat menetapkan peran yang sesuai ke perangkat. Misalnya, aplikasi yang mengelola aliran komunikasi suara dapat memanggil GetDefaultAudioEndpoint untuk mengidentifikasi penyajian yang ditunjuk dan menangkap perangkat untuk peran tersebut.
Jika hanya satu perangkat penyajian atau pengambilan yang tersedia, sistem selalu menetapkan ketiga peran penyajian atau pengambilan ke perangkat tersebut. Jika metode gagal menemukan perangkat penyajian atau pengambilan untuk peran yang ditentukan, ini berarti bahwa tidak ada perangkat penyajian atau penangkapan yang tersedia sama sekali. Jika tidak ada perangkat yang tersedia, metode mengatur *ppEndpoint = NULL dan mengembalikan ERROR_NOT_FOUND.
Untuk contoh kode yang memanggil metode GetDefaultAudioEndpoint , lihat topik berikut:
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | mmdeviceapi.h |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk