Я играю песню путем буферизации в моем приложении.
Я хочу воспроизвести другую песню (нажав кнопку).
Но он играет обе песни вместе. Это не останавливает первую песню, даже когда я пытаюсь остановить ее.
Я упоминал Мэтта Галлахера учебник и вот мой код:
[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
вызывает метод остановки буферизации.
В чем может быть проблема?