iOS:如何检测音乐是否在任何背景音乐应用程序中播放?

当我在内置的iPod应用程序中播放音乐时,目前我的游戏正确处理无法使用自己的BGM,但是当潘多拉(Pandora)等应用程序正在播放音乐时,我的游戏正确无误.

目前,在我的applicationDidBecomeActive方法中,我检查[[MPMusicPlayerController iPodMusicPlayer] playbackState]来确定音乐是否正在播放.如果一个像潘多拉这样的应用程序在后台播放音频,那么相当于什么呢?

解决方法

AudioSessionGetProperty(如jake_hetfield的答案中提到的)与iOS 7不同.

相反,请尝试使用isOtherAudioPlaying的单线程:

BOOL isOtherAudioPlaying = [[AVAudioSession sharedInstance] isOtherAudioPlaying];

适用于iOS 6.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...