Cara: Menginisialisasi XAudio2
XAudio2 diinisialisasi untuk pemutaran audio dengan membuat instans mesin XAudio2, dan membuat suara yang menguasai.
Untuk menginisialisasi XAudio2
Pastikan Anda telah menginisialisasi COM. Untuk aplikasi Windows Store, ini dilakukan sebagai bagian dari inisialisasi Windows Runtime. Jika tidak, gunakan CoInitializeEx.
HRESULT hr; hr = CoInitializeEx( nullptr, COINIT_MULTITHREADED ); if (FAILED(hr)) return hr;
Gunakan fungsi XAudio2Buat untuk membuat instans mesin XAudio2.
IXAudio2* pXAudio2 = nullptr; if ( FAILED(hr = XAudio2Create( &pXAudio2, 0, XAUDIO2_DEFAULT_PROCESSOR ) ) ) return hr;
Gunakan metode CreateMasteringVoice untuk membuat suara mastering.
Suara master merangkum perangkat audio. Ini adalah tujuan utama untuk semua audio yang melewati grafik audio.
IXAudio2MasteringVoice* pMasterVoice = nullptr; if ( FAILED(hr = pXAudio2->CreateMasteringVoice( &pMasterVoice ) ) ) return hr;
Catatan untuk aplikasi Bursa Windows
Kami menyarankan agar Anda menggunakan penunjuk cerdas untuk mengelola masa pakai objek XAUDIO2 dengan cara yang aman kecuali. Untuk aplikasi Windows Store, Anda dapat menggunakan templat penunjuk cerdas ComPtr dari Windows Runtime C++ Template Library (WRL).
Microsoft::WRL::ComPtr<IXAudio2> XAudio2;
HRESULT hr;
if ( FAILED(hr = XAudio2Create( &XAudio2, 0, XAUDIO2_DEFAULT_PROCESSOR ) ) )
throw Platform::Exception::CreateException(hr);
IXAudio2MasteringVoice* pMasterVoice = nullptr;
if ( FAILED(hr = pXAudio2->CreateMasteringVoice( &pMasterVoice ) ) )
return hr;
Catatan
Pastikan bahwa semua objek anak XAUDIO2 sepenuhnya dirilis sebelum Anda merilis objek IXAudio2 .
Topik terkait
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