2011-07-06 31 views
26

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

此外,多任务栏在控件下没有文本 - 是否有一种方法可以在iPod应用程序中添加曲目名称?

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

你想在这里使用classFromString,因为这会导致较低的操作系统崩溃 – coneybeare

+0

iOS 4的任何解决方法?谢谢。 –

+0

没有。在iOS 4.x中没有官方的设置方法。我甚至不认为有这样做的非官方方式。 –

3

这里是迅速! (无需检查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