我正在开发一个 iPhone 应用程序,它将根据用户的要求播放自己的声音。
我的问题是如果设备已经在播放音乐,我如何在启动时禁用我的应用程序中的声音?
我知道我必须检测设备是否已经在播放音乐,但我该怎么做呢?
您可以像这样激活音频会话:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
或者您可以创建一个[MPMusicPlayerController iPodMusicPlayer]
实例并暂停音乐,但这不会暂停其他应用程序中正在播放的音乐。
编辑
如果您想检查 iPod 是否正在播放音乐,那么您可以执行以下操作:
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
if ([musicPlayer playbackState] == == MPMusicPlaybackStatePlaying)
//iPod is playing music, do something here
}
您需要添加MediaPlayer
框架。
要检查您是否已经在播放音乐,您可以执行以下操作:
(YES == ((AVAudioSession *)[AVAudioSession sharedInstance]).otherAudioPlaying)