我有一个使用 AVAudioSession 流式传输背景音频的 iOS 应用程序。它工作正常,但我很好奇,有没有办法更改锁屏音频控件上的文本?现在它只是显示我的应用程序的名称,但我想将其更改为轨道的名称。
此外,多任务栏在控件下方没有文本——有没有办法像 iPod 应用程序那样在其中添加曲目名称?
我有一个使用 AVAudioSession 流式传输背景音频的 iOS 应用程序。它工作正常,但我很好奇,有没有办法更改锁屏音频控件上的文本?现在它只是显示我的应用程序的名称,但我想将其更改为轨道的名称。
此外,多任务栏在控件下方没有文本——有没有办法像 iPod 应用程序那样在其中添加曲目名称?
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;
}
很快就到了!(不再需要检查 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