方法 : オーディオ デバイスの列挙
この例では、アプリケーション定義の基準に適合するオーディオ デバイスを使用するために XAudio2 を初期化する方法を示します。GetDeviceCount メソッドおよび GetDeviceDetails メソッドを使用して、システム上で利用可能なオーディオ デバイスのプロパティを調べます。このプロセスにより、ゲームの要件に最も近いデバイスを選択することができます。受け入れ可能なデバイスが見つかると、デバイス番号が CreateMasteringVoice 関数に渡されます。
利用可能なオーディオ デバイスを列挙するには
XAudio2Create 関数を使用して、XAudio2 エンジンのインスタンスを作成します。
if ( FAILED(hr = XAudio2Create( &pXAudio2, 0, XAUDIO2_DEFAULT_PROCESSOR ) ) ) return hr;
GetDeviceCount 関数で使用可能なオーディオ デバイスの数を調べます。
UINT32 deviceCount;
pXAudio2->GetDeviceCount(&deviceCount);
使用可能なデバイスを順に調べ、最も適切なデバイスを決めます。
オーディオ デバイスの詳細は、GetDeviceDetails 関数で取得します。
XAUDIO2_DEVICE_DETAILS deviceDetails; int preferredDevice = 0;
for (unsigned int i = 0; i < deviceCount; i++) { pXAudio2->GetDeviceDetails(i,&deviceDetails); if (deviceDetails.OutputFormat.Format.nChannels > 2) { preferredDevice = i; } }
最適なデバイスが見つかると、そのインデックスが CreateMasteringVoice 関数に渡されます。
IXAudio2MasteringVoice* pMasterVoice = NULL;
if ( FAILED(hr = pXAudio2->CreateMasteringVoice( &pMasterVoice, XAUDIO2_DEFAULT_CHANNELS, XAUDIO2_DEFAULT_SAMPLERATE, 0, preferredDevice, NULL ) ) ) return hr;
関連トピック
- XAudio2 の基本的な情報
主要な XAudio2 の概念の概要を説明します。
- 方法 : XAudio2 の初期化
XAudio2 を初期化するのに必要な最小限の手順を示します。
- 方法 : XAudio2 によるサウンドの再生
XAudio2 でサウンドを再生するために必要となる最小限の手順を示します。