SDLを初めて使用しました。 私はSDLを使用してメディアプレーヤーを開発していますが、音声コールバック関数が時間内に呼び出されず、オーディオがちょっとしたものになるという問題に直面しました。SDL - オーディオコールバック関数が時々呼び出されない場合があります。
私は、オーディオデバイスを開くために、コードのように一部を使用します。
wanted_spec.xxx = xxx;
wanted_spec.callback = audio_callback; //audio_callback is my audio callback function
SDL_OpenAudio(&wanted_spec, &spec);
私のOSは、Windows XPです。
あなたはそれについて何か知っていますか?誰かが0レイテンシでコールバック関数にデータフィードを同期させる方法を提案することができます。
私の問題は
(デザインは、私はPCMサンプルを取得することになる。このようなものです)。代わりにSDL_LoadWAVを通じて全体のwavファイルを提供するので、私はPCMサンプル(おそらく1024サンプル)を通過したいです。しかし問題があり、コールバック関数時間内に呼び出されていないか、呼び出し音がふさわしくない原因となります。コールバック関数にデータを渡すことができません。
渡すデータ(サンプル)をコールバック関数に同期させる方法や、データがサンプルに渡されるアプリケーションを提供する方法をお勧めしますか?
コールバックではどうしますか?あなたが投稿したのはセットアップコードの一部だけです。何が間違っているのか分かりません。 –
バッファはどれくらいの大きさですか。つまり、SDLを期限内にサービスを提供するためにコールバックする必要がある頻度はどれくらいですか? – unwind