Я пытаюсь заставить 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?
[player pause];
, гдеplayer
— экземпляр AVPlayer. Это не влияет на пользовательский интерфейс Apple TV. Звук на самом деле останавливается и возобновляется, как и ожидалось, но в ходе воспроизведения есть проблемы, которые я описываю. - person Jaanus   schedule 07.08.2012[playingInfo setObject:[NSNumber numberWithFloat:0.000001f] forKey:MPNowPlayingInfoPropertyPlaybackRate];
? - person Aaron Brager   schedule 16.03.2013