在iPad锁定屏幕上显示AVAudioplayer持续时间和已用时间(背景)

时间:2015-01-29 20:44:18

标签: ios xcode avaudioplayer mpnowplayinginfocenter

到目前为止,这是我尝试让锁定屏幕显示音频mp3文件中已经过了多长时间(已用完)以及音频mp3文件的总时间是多少......

这是我的对象数组:

NSArray *madMoneyArray = [NSArray arrayWithObjects:[NSString stringWithFormat:@"Episode %d", a],
                              @"Jim Cramer",
                              @"Mad Money Podcast",
                              madMoneyArtwork,
                              [NSNumber numberWithFloat:(float)_audioPlayer.currentPlaybackTime],
                              [NSNumber numberWithDouble:(double)_audioPlayer.duration],
                              [NSNumber numberWithDouble:(double)1.0],
                              @"MadMoneyPodcast.png",
                              madMoneyURL, nil];

这是我的一系列键:

NSArray *array = [NSArray arrayWithObjects:MPMediaItemPropertyTitle,
                  MPMediaItemPropertyArtist,
                  MPMediaItemPropertyAlbumTitle,
                  MPMediaItemPropertyArtwork,
                  MPNowPlayingInfoPropertyElapsedPlaybackTime,
                  MPMediaItemPropertyPlaybackDuration,
                  MPNowPlayingInfoPropertyPlaybackRate, nil];

我成功地将对象及其键放入MPNowPlayingInfoCenter defaultCenter中:

songInfo = [NSDictionary dictionaryWithObjects:[[_podcastArray objectAtIndex:(value - 1)] subarrayWithRange:NSMakeRange(0, imageIndex)] forKeys:_keys];
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:songInfo];

播客阵列在哪里我拥有带有这些对象和键的多个数组。现在,当我进入锁定屏幕时,显示我想要显示的所有内容(即:标题,艺术家姓名,专辑名称,专辑插图)。然而,我无法显示的一件事是愚蠢的经过时间和持续时间。

我已经做了很多研究并实施了我认为正确的事情,但显然它是不对的。

我真的可以在这里使用一些帮助,谢谢。

2 个答案:

答案 0 :(得分:1)

尝试替换

[NSNumber numberWithFloat:(float)_audioPlayer.currentPlaybackTime]

[NSNumber numberWithDouble:_audioPlayer.currentPlaybackTime]

同时检查_audioPlayer.duration是否为0。

答案 1 :(得分:0)

你的 madMoneyArray 有一些额外的值用这个替换这个数组

NSArray *madMoneyArray = [NSArray arrayWithObjects:[NSString stringWithFormat:@"Episode %d", a],
                              @"Jim Cramer",
                              @"Mad Money Podcast",
                              madMoneyArtwork,
                              [NSNumber numberWithFloat:(float)_audioPlayer.currentPlaybackTime],
                              [NSNumber numberWithDouble:(double)_audioPlayer.duration],
                             [NSNumber numberWithInt:1],
                             nil];

试试这个,希望这有帮助!!!