1

ObjectAL は初めてです。ピッチを変えてmp3を再生するのに使っています。

ObjectAL でロードされたバッファを「適切に」再生する方法がわかりません。私が電話をかけると[source play:buffer]、音はほんの一瞬しか聞こえません。バッファーを常に「再生」するには、バッファーを無限ループに埋め込むと、バッファーが正しく再生されます。基本的な点を見逃していると思いますが、正しい方向に向けてもらえますか?

私のコード:

[OALSimpleAudio sharedInstance].reservedSources = 0;

ALSource *source = [ALSource source];

ALBuffer *buffer = [[OpenALManager sharedInstance] bufferFromFile:@"video.mp3" reduceToMono:YES];
source.pitch = 1;

for (;;) {   // infinite loop because otherwise only a millisecond of buffer is played
    [source play:buffer];
}
4

1 に答える 1

0

呼び出しpitchToまたは同様の関数により、実際にはバッファーが常に再生されます。fx:

[source pitchTo:1 duration:1 target:nil selector:nil];

これは完全な説明とは言えませんが、少なくとも問題は解決します。

于 2015-01-07T16:32:54.093 に答える