C++ で小さな .wav ファイルを再生するプログラムを作成しようとしています。DirectX SDK ドキュメントに従って、セカンダリ静的バッファーで書き込みおよび再生するようにプログラムしました。.wav ファイルの再生の最後に、非常に目立つ「クリック」ノイズがあることを除いて、正常に動作します。DirectSound を使用していることがわかっている他のゲームにはそれがないため、オーディオ ハードウェア側の欠陥ではないことは確かです。
サイクルごとに GetCurrentPosition をポーリングし、終了する直前に停止しようとしましたが、信頼性がありませんでした。プライマリ バッファで再生される .wav はループする必要があるため、プライマリ バッファでは再生できません。これは望ましくありません。
誰もこの問題の修正を知っていますか? 前もって感謝します。