Изменить фоновый звук экрана блокировки, управляющий текстом?

У меня есть приложение для iOS, которое передает фоновый звук с помощью AVAudioSession. Он работает правильно, но мне любопытно, есть ли способ изменить текст на элементах управления звуком на экране блокировки? Прямо сейчас он просто отображает название моего приложения, но я хотел бы изменить его на название трека.

Кроме того, панель многозадачности не имеет текста под элементами управления — есть ли способ добавить туда название дорожки, как это делает приложение для iPod?


person Keller    schedule 06.07.2011    source источник
comment
Кто-нибудь знает, как это сделать с веб-аудио?   -  person Justin Thomas    schedule 21.03.2014


Ответы (2)


iOS 5 теперь поддерживает настройку названия дорожки, а также изображения обложки альбома как на экране блокировки, так и в элементах управления удаленным воспроизведением (элементы управления, которые вы получаете, дважды щелкнув кнопку «Домой» и проведя пальцем вправо). Взгляните на MPNowPlayingInfoCenter класс. Конечно, чтобы максимизировать совместимость, вы захотите проверить, доступен ли MPNowPlayingInfoCenter, выполнив что-то вроде:

if ([MPNowPlayingInfoCenter class])  {
   /* we're on iOS 5, so set up the now playing center */
   UIImage *albumArtImage = [UIImage imageNamed:@"HitchHikersGuide"];
   albumArt = [[MPMediaItemArtwork alloc] initWithImage:albumArtImage];

    NSDictionary *currentlyPlayingTrackInfo = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"Life, the Universe and Everything", [NSNumber numberWithInt:42], albumArt, nil] forKeys:[NSArray arrayWithObjects:MPMediaItemPropertyTitle, MPMediaItemPropertyPlaybackDuration, MPMediaItemPropertyArtwork, nil]];
    [MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo = currentlyPlayingTrackInfo;
}
person Donald Burr    schedule 17.10.2011
comment
Вы хотите использовать classFromString здесь, так как это приведет к сбою более низких ОС. - person coneybeare; 27.10.2011
comment
Неа. Нет официального способа установить это в iOS 4.x. Я даже не думаю, что есть неофициальный способ сделать это. - person Donald Burr; 28.11.2011

вот это быстро! (больше не нужно проверять наличие iOS 5 и выше)

let albumArt = MPMediaItemArtwork(image: UIImage(named:"HitchHikersGuide"))
let albumDict = [MPMediaItemPropertyTitle: "Life, the Universe and Everything", MPMediaItemPropertyPlaybackDuration: 42, MPMediaItemPropertyArtwork: albumArt]
MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo = albumDict
person Mike Sprague    schedule 03.09.2015