2012-01-24 31 views
2

私はFMOD APIを使い始めています。サウンドの再生に問題があります。私はこのサイトからチュートリアルを使用しました:http://glasnost.itcarlow.ie/~powerk/audio/AddFMODtoaproject.htmlと私は持っていると思うだけ音割れです。FMODの単純なサウンド再生

これは私が私のOpenGLのinit関数に使用していたコードは次のとおりです。

FMOD::System_Create(&system);// create an instance of the game engine 
system->init(32, FMOD_INIT_NORMAL, 0); 

system->createSound("sound.wav", FMOD_HARDWARE, 0, &sound1); 
sound1->setMode(FMOD_LOOP_OFF); 

system->playSound(FMOD_CHANNEL_FREE, sound1, false, 0); 

、誰もが何が間違っている任意のアイデアを持っていますか?それとも別の方法がありますか?

答えて

5

まず、すべての機能の戻りコードがFMOD_OKであることを確認してください。

第2に、FMODハウスキーピングのためにフレームごとに1回、定期的にSystem :: updateを呼び出す必要があります。

問題については、どのプラットフォームを使用していますか? 一般的にクラッキングはハードウェアが追いついていないことを意味し、FMODがバッファリングする量を増やすことができます。これはSystem :: setDSPBufferSizeで制御され、numBuffers数を増やしてみてください。 System :: getDSPBufferSizeを使用して現在の値を確認したり、System :: initの前にSystem :: setDSPBufferSizeを呼び出して新しい値を有効にしたりすることもできます。あなたはFMOD ::システム:: update()を呼び出している場合、私は知らない

+0

緩衝液を用いて接続ソリューションは本当に参考になったあたりに少なくとも一度これを呼び出す必要があります。ありがとうございました。 – sebap123

1

は..あなたは、フレーム

+0

FMODシステムを更新します。これは、 'ゲーム'ティックごとに1回呼び出すか、アプリケーション内でフレームごとに1回呼び出す必要があります。 ソース:http://www.fmod.org/docs/content/generated/FMOD_System_Update.html – PALEN

関連する問題