AVAudioPlayer不尊重静音

时间:2012-05-07 18:48:07

标签: ios avaudioplayer

还有其他主题,但我不能对它们发表评论,我已经尝试了所有列出的方法。

我的应用程序有一首可以在打开时播放的歌曲,但点击iPad上的静音无效(它应该使歌曲静音)。

这是我开始声音的代码:

audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[[NSBundle mainBundle] URLForResource:@"intro_theme" withExtension:@"wav"] error:NULL];`
[audioPlayer play];

以下是我尝试过的各种方法:

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: nil];

UInt32 sessionCategory = kAudioSessionCategory_AmbientSound;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);

其他人似乎能够让AVAudioPlayer尊重静音选项 - 任何想法?

2 个答案:

答案 0 :(得分:1)

您是否尝试过类别AVAudioSessionCategorySoloAmbient?

Apple's docs: 使用此类别时,其他应用程序的音频将被静音。通过屏幕锁定和静音开关(在iPhone上称为响铃/静音开关)使您的音频静音。

答案 1 :(得分:0)

这是一个解决方案:

在调用setCategory之后,我使用NSTimer延迟播放音频,直到1秒。这适用于iPad 3& iPad 1(尚未测试2)。