有没有办法检测来自iPod应用以外的其他来源的音乐或媒体是否正在播放?
我知道我可以通过以下方式检测从ipod播放的音乐:
[[MPMusicPlayerController iPodMusicPlayer] playbackState] == MPMusicPlaybackStatePlaying
但如果正在播放的音乐来自Pandora Radio,Spotify,Plex等其他应用程序,则返回错误...我做错了什么或者这是否可能?
似乎这可能是可能的,因为这些其他应用程序能够注册到系统以接收系统控制事件
-(void)remoteControlReceivedWithEvent:(UIEvent *)theEvent
但是,到目前为止,除了ipod媒体之外,我还没有找到任何查询此值的方法。任何帮助,将不胜感激。谢谢!
答案 0 :(得分:0)
static bool isOtherAudioIsPlaying(void)
{
UInt32 OtherAudioIsPlaying = 0;
UInt32 size = sizeof(OtherAudioIsPlaying);
AudioSessionGetProperty(kAudioSessionProperty_OtherAudioIsPlaying,
&size,
&OtherAudioIsPlaying);
return (bool)OtherAudioIsPlaying;
}