0

2010 年 6 月の SDK から XAudio2Sound3D サンプルを実装すると、すべて自分のフレームワークにほぼコピーされ、この 1 つの変数 ( sound3DInstance )が未解決の外部変数として表示されますおよびX3DAudioInitialize(details.OutputFormat.dwChannelMask, SPEEDOFSOUND, sound3DInstance ); 変数の型は次のとおりです。

X3DAUDIO_HANDLE sound3DInstance;
X3DAUDIO_LISTENER listener;
X3DAUDIO_EMITTER emitter;
X3DAUDIO_DSP_SETTINGS dspSettings;
DWORD calcFlags = X3DAUDIO_CALCULATE_MATRIX | X3DAUDIO_CALCULATE_DOPPLER | X3DAUDIO_CALCULATE_LPF_DIRECT | X3DAUDIO_CALCULATE_LPF_REVERB | X3DAUDIO_CALCULATE_REVERB;
const float SPEEDOFSOUND = X3DAUDIO_SPEED_OF_SOUND;
XAUDIO2_DEVICE_DETAILS details;

現在、エラーを示す両方の関数の唯一の共通変数はsound3DInstanceであるため、これが問題である必要があります。SDK サンプルでは、​​すべての変数が *AUDIO_STATE* という構造体に配置され、プログラムの初期化で次のように呼び出されます。 *ZeroMemory( &g_audioState, sizeof( AUDIO_STATE ) );* 私のコードでは、変数は Sound クラスのメンバーであり、それらを 1 つずつ ZeroMemory するだけなので、効果は同じではないでしょうか?

4

1 に答える 1