Как объединить AudioQueuePause с AudioQueueGetCurrentTime для возобновления воспроизведения звука в iPhone SDK? - PullRequest
1 голос
/ 22 апреля 2011

Приложение для iPhone воспроизводит потоковое аудио из Интернета.

Мне нужно объединить AudioQueuePause с AudioQueueGetCurrentTime, чтобы приостановить аудиопоток, а затем возобновить воспроизведение, когда пользователь снова нажимает на воспроизведение.

Как реализовать AudioQueuePause с AudioQueueGetCurrentTime для приостановки и возобновления воспроизведения звука?

1 Ответ

0 голосов
/ 26 апреля 2011

На самом деле мне не нужно было объединять 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); 
}

Теперь этоне нужно снова буферизовать с начала аудио, но он будет приостанавливаться и возобновляться очень быстро по запросу.

...