因此,当我启动我的应用程序时,我希望能够分辨出其他应用程序的音乐播放时间(系统,声音广告,pandora,spotify等)。
我能够这样做:
BOOL isOtherAudioPlaying = [[AVAudioSession sharedInstance] isOtherAudioPlaying];
if (isOtherAudioPlaying){
NSLog(@"Playing Music");
}else{
NSLog(@"Not Playing Music");
}
我可以使用以下代码播放/暂停iPod音乐播放器:
[[MPMusicPlayerController systemMusicPlayer] play];
[[MPMusicPlayerController systemMusicPlayer] pause];
但是,这只适用于我使用默认的iOS音乐应用程序。
如果我从另一个应用程序(例如SoundCloud)收听音乐。代码不起作用。它仍将播放/暂停iOS音乐应用。
问题:
是否有任何播放/暂停当前正在播放的音乐的方式?
答案 0 :(得分:0)
是否有任何播放/暂停当前正在播放的音乐的方式?
将AVAudioSession的类别设置为Playback(或类似)并激活它。其他应用播放的任何背景音频都将停止播放。
答案 1 :(得分:0)
matt是正确的,您无法控制其他音频是否暂停。你必须:
答案 2 :(得分:-1)
我需要同时播放和录制音频,并且在停止背景音乐方面遇到了麻烦。
我能够通过此音频设置完成此操作:
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setActive: NO error: nil];
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord withOptions: AVAudioSessionCategoryOptionMixWithOthers error:nil];
[audioSession setActive:YES error:nil];
以下是音频会话类别表,可帮助您找到所需效果的类别。 https://developer.apple.com/library/ios/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/ConfiguringanAudioSession/ConfiguringanAudioSession.html
以下是整个音频会话计划指南,它帮助我了解更多并解决了我的问题 https://developer.apple.com/library/ios/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/AudioSessionCategoriesandModes/AudioSessionCategoriesandModes.html#//apple_ref/doc/uid/TP40007875-CH10-SW1