На самом деле мне не нужно было объединять AudioQueuePause с AudioQueueGetCurrentTime, чтобы приостановить аудиопоток, а затем возобновить его после запроса.
Сначала я создал две кнопки (IBActions в моем PlayerViewController.m), одну дляпауза и еще одна для возобновления звука, кроме той, что у меня уже была для начала / остановки.При запуске он сначала должен был буферизоваться, а затем воспроизводился звук.Если я нажму кнопку еще раз, она остановится, избавившись от текущего соединения WiFi или 3G.
Тогда мне просто нужно было использовать AudioQueuePause (inAudioQueue); в - (void) pauseAudioStreamingметод и AudioQueueStart (inAudioQueue, NULL) ;в - (void) метод возобновления.NULL означает, что аудио будет начинаться как можно скорее, именно в той точке, где я его приостановил (затем я пришел к выводу, что нет необходимости получать текущее время, используя AudioQueueGetCurrentTime), например так:
- (void)pauseAudioStreaming
{
AudioQueuePause(inAudioQueue);
}
- (void)resume
{
AudioQueueStart(inAudioQueue, NULL);
}
Теперь этоне нужно снова буферизовать с начала аудио, но он будет приостанавливаться и возобновляться очень быстро по запросу.