Как автоматически воспроизвести следующую песню, когда первая закончена? - PullRequest
0 голосов
/ 03 октября 2011

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

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

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

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

Ответы [ 2 ]

0 голосов
/ 04 октября 2011

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

В этом руководстве есть playbackStateChanged: (NSNotification *) aNotification метод,

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

   }
       if ([songStreamer isPlaying])
   {

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

   }

      else if ([songStreamer isPaused])
  {

  }
}

Когда песня заканчивается через потоковую передачу, Это собирается в состояние простоя. Поэтому в состоянии ожидания я вызываю метод воспроизведения следующей песни.

И это работает.

0 голосов
/ 03 октября 2011

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

void MyAudioQueueIsRunningCallback( void *                  inClientData,
                         AudioSessionPropertyID inID,
                         UInt32                  inDataSize,
                         const void *            inData)
{
move to the next song
}
...