3
私のアプリケーションでバッファリングして曲を再生します。iPhone:次の曲を開始する前に最初の曲が停止しない
別の曲を(ボタンをクリックして)再生したいです。
しかし、両方の曲を一緒に再生します。それをやめようとしても最初の曲は止まらない。
私はマットギャラガーtutorialを呼ばれ、ここに私のコードです:
[streamer stop];
- (void)stop
{
@synchronized(self)
{
if (state == AS_WAITING_FOR_DATA || state == AS_STARTING_FILE_THREAD)
return;
if (audioQueue &&
(state == AS_PLAYING || state == AS_PAUSED ||
state == AS_BUFFERING || state == AS_WAITING_FOR_QUEUE_TO_START))
{
self.state = AS_STOPPING;
stopReason = AS_STOPPING_USER_ACTION;
err = AudioQueueStop(audioQueue, true);
if (err)
{
[self failWithErrorCode:AS_AUDIO_QUEUE_STOP_FAILED];
return;
}
}
else if (state != AS_INITIALIZED)
{
self.state = AS_STOPPED;
stopReason = AS_STOPPING_USER_ACTION;
}
seekWasRequested = NO;
}
while (state != AS_INITIALIZED)
{
[NSThread sleepForTimeInterval:0.1];
}
}
このstreamer
は、バッファリングのstopメソッドを呼び出します。
何が問題なのですか?
デバッガでコードを実行しましたか? AudioQueueStop呼び出しに達していますか? – onnoweb
@onnoweb:はい、デバッガ&AudioQueueStopも呼び出します。 –
結果コードを確認しましたか? http://developer.apple.com/library/mac/#documentation/MusicAudio/Reference/AudioQueueReference/Reference/reference.html#//apple_ref/doc/uid/TP40005117-CH5g-RCM0127 – andreamazz