Iphone 如果设备已经在播放音乐,如何防止我的应用程序播放声音

Iphone 如果设备已经在播放音乐,如何防止我的应用程序播放声音,iphone,ios,audio,Iphone,Ios,Audio,我正在开发一款iPhone应用程序,可以根据用户的要求播放自己的声音 我的问题是,如果设备已经在播放音乐,如何在启动时禁用应用程序中的声音 我知道我必须检测设备是否已经在播放音乐,但我如何才能做到这一点?您可以这样激活音频会话: [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; [[AVAudioSession sharedInstance] setActive: YES

我正在开发一款iPhone应用程序,可以根据用户的要求播放自己的声音

我的问题是,如果设备已经在播放音乐,如何在启动时禁用应用程序中的声音


我知道我必须检测设备是否已经在播放音乐,但我如何才能做到这一点?

您可以这样激活音频会话:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
或者您可以创建一个
[MPMusicLayerController iPodMusicLayer]
实例并暂停音乐,但这不会暂停在其他应用程序中播放的音乐

编辑

如果要检查iPod是否正在播放音乐,可以执行以下操作:

MPMusicPlayerController *musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
if ([musicPlayer playbackState] == == MPMusicPlaybackStatePlaying)
   //iPod is playing music, do something here
}

您需要添加MediaPlayer框架。

您可以这样激活音频会话:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
或者您可以创建一个
[MPMusicLayerController iPodMusicLayer]
实例并暂停音乐,但这不会暂停在其他应用程序中播放的音乐

编辑

如果要检查iPod是否正在播放音乐,可以执行以下操作:

MPMusicPlayerController *musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
if ([musicPlayer playbackState] == == MPMusicPlaybackStatePlaying)
   //iPod is playing music, do something here
}

您需要添加MediaPlayer框架。

要检查您是否已经在播放音乐,您可以执行以下操作:

(YES == ((AVAudioSession *)[AVAudioSession sharedInstance]).otherAudioPlaying)

要检查您是否已经在播放音乐,可以执行以下操作:

(YES == ((AVAudioSession *)[AVAudioSession sharedInstance]).otherAudioPlaying)

我知道我必须检测声音是否已经播放
-错误。仔细查看audiosession设置文档-特别注意“Audio Session Categories”(音频会话类别)。建立适当的音频会话,将暂停任何已播放的音乐。感谢您的回答!我感谢你花时间回答这个问题!我使用过此类别AvaudioSessionCategoryMBient,但它允许在我使用应用程序时播放iPod声音,但如果iPod正在播放音乐,我需要将应用程序的声音静音!尊重用户对设备应发出何种声音的意见的荣誉。:)<代码>我知道我必须检测声音是否已经播放-错误。仔细查看audiosession设置文档-特别注意“Audio Session Categories”(音频会话类别)。建立适当的音频会话,将暂停任何已播放的音乐。感谢您的回答!我感谢你花时间回答这个问题!我使用过此类别AvaudioSessionCategoryMBient,但它允许在我使用应用程序时播放iPod声音,但如果iPod正在播放音乐,我需要将应用程序的声音静音!尊重用户对设备应发出何种声音的意见的荣誉。:)