MPNowPlayingInfoCenter не реагирует должным образом при приостановке воспроизведения

Я пытаюсь заставить MPNowPlayingInfoCenter работать правильно при приостановке воспроизведения. (У меня есть приложение для потоковой передачи музыки, которое использует AVPlayer для воспроизведения, и я воспроизвожу его на своем Apple TV через Airplay. )Кажется, все, кроме паузы, правильно отображается в пользовательском интерфейсе Apple TV. Я инициализирую его так:

MPNowPlayingInfoCenter *center = [MPNowPlayingInfoCenter defaultCenter];
NSDictionary *songInfo = @{
    MPMediaItemPropertyTitle: title,
    MPMediaItemPropertyArtist: artist
};
center.nowPlayingInfo = songInfo;

Поскольку я транслирую, у меня нет информации о продолжительности при запуске воспроизведения. Когда я получаю «готовый» сигнал из потока, я обновляю продолжительность, которая правильно отображается на моем Apple TV :

MPNowPlayingInfoCenter *center = [MPNowPlayingInfoCenter defaultCenter];
NSMutableDictionary *playingInfo = [NSMutableDictionary dictionaryWithDictionary:center.nowPlayingInfo];
[playingInfo setObject:[NSNumber numberWithFloat:length] forKey:MPMediaItemPropertyPlaybackDuration];
center.nowPlayingInfo = playingInfo;

. Я также могу искать с помощью этой техники, когда пользователь ищет трек:

[playingInfo setObject:[NSNumber numberWithFloat:length * targetProgress] forKey:MPNowPlayingInfoPropertyElapsedPlaybackTime];

Единственное, что я НЕ могу понять, это как приостановить воспроизведение на моем Apple TV. Когда пользователь нажимает паузу в моем пользовательском интерфейсе, я пытаюсь сделать что-то вроде:

MPNowPlayingInfoCenter *center = [MPNowPlayingInfoCenter defaultCenter];
NSMutableDictionary *playingInfo = [NSMutableDictionary dictionaryWithDictionary:center.nowPlayingInfo];        
[playingInfo setObject:[NSNumber numberWithFloat:0.0f] forKey:MPNowPlayingInfoPropertyPlaybackRate];            
center.nowPlayingInfo = playingInfo;

Вместо паузы указатель воспроизведения возвращается к нулю и продолжает двигаться вперед.

Как заставить точку воспроизведения правильно приостанавливаться в пользовательском интерфейсе Apple TV?

45
задан Jaanus 1 August 2012 в 03:58
поделиться