職場では、サウンドを一時停止するために使用することはできません。alSourcePause()いずれの場合も、オフセットを使用してサウンドを開始することをお勧めします。
alSourcei(this->sourceId, AL_SAMPLE_OFFSET, this->sampleOffset);で取得したサンプルオフセットを使用して「再開」を実行していますalGetSourcei()。AL_SEC_OFFSET、、AL_BYTE_OFFSETおよびAL_SAMPLE_OFFSET-を使用してみましたが、役に立ちませんでした。音源は「初期」状態である必要があることを読みました。ソースを再作成してバッファをアタッチしてからスキップしようとしても、役に立ちませんでした。
バッファをスキップするように変更すると、AL_BYTE_OFFSETループが複雑になるため、解決策にはなりません。
低速のマシンではストリーミングサウンドがスキップされます。マルチスレッド再生の実装に問題があります。
スケジュールが厳しいので、OS XのOpenALで単純な音源の一部をスキップする最良の方法は何ですか?
ソースコードは、Sourceforgeリポジトリで入手できます。