我的MPNowPlayingInfoCenter已启动并运行,但仍存在一个问题。 无论我的实际玩家状态如何,MPNowPlayingInfoCenter始终“正在播放”并显示暂停按钮。按下时会触发暂停事件。
当我的播放器改变状态,例如暂停时,我通过MPNowPlayingInfoPropertyPlaybackRate键更新MPNowPlayingInfoCenter。
还有其他方法可以将MPNowPlayingInfoCenter状态设置为暂停吗?
任何提示都赞赏!
答案 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控制的,它以某种方式忽略了我手动设置的播放速率并检测到音频播放。
所以我的解决方案是暂停第二个音频。在我的情况下这是可能的,但我不知道如何在第二个音频对应用程序至关重要时克服这一点。 我很乐意接受任何能更优雅地解决这个问题的答案。