MPNowPlayingInfoCenter始终处于播放状态

时间:2014-05-10 15:58:58

标签: ios objective-c audio mpnowplayinginfocenter

我的MPNowPlayingInfoCenter已启动并运行,但仍存在一个问题。 无论我的实际玩家状态如何,MPNowPlayingInfoCenter始终“正在播放”并显示暂停按钮。按下时会触发暂停事件。

当我的播放器改变状态,例如暂停时,我通过MPNowPlayingInfoPropertyPlaybackRate键更新MPNowPlayingInfoCenter。

还有其他方法可以将MPNowPlayingInfoCenter状态设置为暂停吗?

任何提示都赞赏!

2 个答案:

答案 0 :(得分:0)

试试这个:

 NSMutableDictionary *currentlyPlayingTrackInfo = [NSMutableDictionary dictionaryWithCapacity:7];
 currentlyPlayingTrackInfo[MPNowPlayingInfoPropertyElapsedPlaybackTime] = @((Float64)[player currentTime]);
    if (!SYSTEM_VERSION_OF_DEVICE_LESS_THAN(@"7.0"))
    {
        currentlyPlayingTrackInfo[MPNowPlayingInfoPropertyPlaybackRate] = [NSNumber numberWithDouble:_isHere == NO?1:0];
    }
    else
    {
        currentlyPlayingTrackInfo[MPNowPlayingInfoPropertyPlaybackRate] = [NSNumber numberWithDouble:1];
    }
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:currentlyPlayingTrackInfo];

答案 1 :(得分:0)

发现问题是当第二个音频输出源正在播放时,我所包含的媒体播放器是通过nowplayingcenter控制的,它以某种方式忽略了我手动设置的播放速率并检测到音频播放。

所以我的解决方案是暂停第二个音频。在我的情况下这是可能的,但我不知道如何在第二个音频对应用程序至关重要时克服这一点。 我很乐意接受任何能更优雅地解决这个问题的答案。