更改锁屏背景音频控制文字?

时间:2011-07-06 17:33:54

标签: ios objective-c swift avaudiosession mpnowplayinginfocenter

我有一个使用AVAudioSession流式播放背景音频的iOS应用。它工作正常,但我很好奇,有没有办法改变锁屏音频控件上的文字?现在它只显示我的应用程序的名称,但我想将其更改为轨道的名称。

此外,多任务栏在控件下没有文字 - 有没有办法在那里添加曲目名称,就像iPod应用程序一样?

2 个答案:

答案 0 :(得分:33)

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;
}

答案 1 :(得分:4)

这里很快! (无需再检查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