如何从MPMediaPlayer ViewController中显示歌曲标题,持续时间

时间:2012-10-31 12:56:24

标签: objective-c ios bluetooth

我有一个使用MPMediaPlayerViewController传输MP3播客文件的应用程序,如下所示:

MPMoviePlayerViewController *v =
  [[[MPMoviePlayerViewController alloc] initWithContentURL:url] autorelease];
[[v moviePlayer] setAllowsAirPlay:YES];
[[v moviePlayer] play];
[self presentMoviePlayerViewControllerAnimated:v];

NSError *myErr;
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:&myErr];

AVAudioSession调用允许音频在后台继续。

这一切都运行良好,但是当我通过蓝牙将音频流传输到(例如)我的汽车音响时,未设置曲目信息和持续时间。

是否有任何教程说明如何设置此信息以便在外部播放器上正确显示信息?

1 个答案:

答案 0 :(得分:3)

此代码向我显示我在锁屏中的当前播放曲目信息。试试这个:

if ([MPNowPlayingInfoCenter class])  {
    /* we're on iOS 5, so set up the now playing center */

    NSDictionary *currentlyPlayingTrackInfo = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:currentPlayingAudio.artist,currentPlayingAudio.title, nil] 
                                                                          forKeys:[NSArray arrayWithObjects:MPMediaItemPropertyArtist,MPMediaItemPropertyTitle, nil]];
    [MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo = currentlyPlayingTrackInfo;
}

currentPlayingAudio是我的音频对象,带有标题和艺术家名称属性。例如,您可以输入您的播客名称。