有什么方法可以检测是否正在播放iPod应用程序以外的其他来源的音乐或媒体?

我知道我可以使用以下方法检测ipod播放的音乐:

[[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying

但是,如果正在播放的音乐来自其他应用程序(例如Pandora Radio,Spotify,Plex等),则返回错误消息。我是在做错什么,还是有可能?

由于这些其他应用能够向系统注册以接收系统控制事件,因此这似乎是有可能的
-(void)remoteControlReceivedWithEvent:(UIEvent *)theEvent

但是,到目前为止,除了ipod媒体之外,我无法找到任何查询此值的方法。任何帮助,将不胜感激。谢谢!

最佳答案

static bool isOtherAudioIsPlaying(void)
{
    UInt32 OtherAudioIsPlaying = 0;
    UInt32 size = sizeof(OtherAudioIsPlaying);

    AudioSessionGetProperty(kAudioSessionProperty_OtherAudioIsPlaying,
                 &size,
                 &OtherAudioIsPlaying);
    return (bool)OtherAudioIsPlaying;
}

关于ios - 是否可以检测非ipod音乐?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12177318/

10-09 00:08