Как автоматически воспроизвести следующую песню после завершения первой?

#iphone #objective-c #cocoa-touch #ios4 #audio-streaming

#iPhone #objective-c #cocoa-touch #ios4 #потоковое аудио

Вопрос:

В моем приложении я использую AudioStreamer для воспроизведения песни через сервер,

Я ссылаюсь на этот урок,

http://cocoawithlove.com/2008/09/streaming-and-playing-live-mp3-stream.html

Как автоматически воспроизвести следующую песню при использовании AudioStreamer?

Ответ №1:

В руководстве упоминается функция обратного вызова, которая запускается при завершении воспроизведения песни. Ваша цель — написать функциональность для вашего списка песен, чтобы перейти к следующей при вызове этой функции.

void MyAudioQueueIsRunningCallback( void * inClientData,
 Идентификатор идентификатора AudioSessionPropertyID,
UInt32 inDataSize,
const void * InData)
{
переход к следующей песне
}

Ответ №2:

Я получил ответ,

В этом руководстве есть метод уведомления playbackstatechanged:(NSNotification *),

     - (void)playbackStateChanged:(NSNotification *)aNotification
    {
    if ([songStreamer isWaiting])
   {

   }
       if ([songStreamer isPlaying])
   {

   }
   else if ([songStreamer isIdle])
   {
         [self playnextsong];

   }

      else if ([songStreamer isPaused])
  {

  }
}
  

Когда песня завершается с помощью потоковой передачи,
Он переходит в состояние ожидания.
Итак, в режиме ожидания я вызываю метод воспроизведения следующей песни.

И он запускается.

Комментарии:

1. Пожалуйста, примите свой собственный ответ, если он работает. Также я хотел бы знать, запускается ли она, когда мы не можем воспроизвести поток из-за какой-либо проблемы с синтаксическим анализом? Я думаю, что тогда он тоже перейдет в состояние ожидания.