2 つのオーディオ ファイルを続けて再生する必要があります。「私の名前は」という汎用ファイルがあります。
次に、別のオーディオ文字列を持つ別のオーディオ ファイルが続きます。
例: a.mp3 が「私の名前は」 b.mp3 が「John」であるとします。
しかし、MPMoviePlayerController の contentURL を設定すると。最初のオーディオをスキップして、2 番目のオーディオを再生します。
これが私のコードです:
- (void) playPromptAudio
{[appDelegate.globalPlayer setContentURL:[NSURL
URLWithString:@"http://localhost/a.mp3"]];
[appDelegate.globalPlayer prepareToPlay];
[appDelegate.globalPlayer play];
while (appDelegate.globalPlayer.playbackState == MPMoviePlaybackStatePlaying ) {
// dirty hack, do gracefully
// do nothing
}
[appDelegate.globalPlayer setContentURL:[NSURL URLWithString:@"http://localhost/b.mp3"]];
[appDelegate.globalPlayer prepareToPlay];
[appDelegate.globalPlayer play];
}
しかし、コードを実行すると、"John" だけが再生されます。
コードをデバッグした後、関数全体を実行した後にオーディオの再生が開始されることがわかります。そのため、最後に設定されているため、"John" が再生されていることが明らかです。しかし、この動作を防ぐ方法はありますか?