iOS PlayPlayer проблема с кнопкой Play / Pause - PullRequest
13 голосов
/ 07 сентября 2011

Я использую AVPlayer для воспроизведения прямой трансляции из Интернета, используя следующий код:

    NSString *u = @"http://192.192.192.192:8036";
NSURL *url = [NSURL URLWithString:u];
radiosound = [[AVPlayer alloc] initWithURL:url];
    [radiosound play]; 

И у меня одна кнопка воспроизведения:

[radiosound play]; 

и пауза:

[radiosound pause]; 

Моя проблема в том, что я хочу использовать только одну кнопку Play / Pause, но когда я использую этот код

if (radiosound.isPlaying) {         
    [radiosound pause]; 
} else {                
     [radiosound play]; 
}

Мое приложение аварийно завершает работу, поскольку AVPlayer не распознает «isPlaying».

Какие-нибудь советы?

Ответы [ 2 ]

38 голосов
/ 07 сентября 2011

AVPlayer не имеет свойства isPlaying. Используйте свойство rate (0,0 означает остановку, 1,0 воспроизведение).

if (radiosound.rate == 1.0) {         
    [radiosound pause]; 
} else {                
     [radiosound play]; 
}

Ссылку на класс AVPlayer можно посмотреть здесь .

5 голосов
/ 31 мая 2013

После некоторых исследований я обнаружил, что при отсутствии сетевого подключения AVPlayer по-прежнему устанавливает скорость 1,0 после получения сообщения -play.

Таким образом, я также проверяю currentItem и изменяюМой метод таков:

-(BOOL)isPlaying
{
    if (self.player.currentItem && self.player.rate != 0)
    {
        return YES;
    }
    return NO;
}

Пожалуйста, поделитесь своим мнением, если вы считаете, что с этим подходом что-то не так.

...