0

还有其他主题,但我无法在其中发表评论,并且我已经尝试了列出的所有方法。

我的应用程序有一首歌曲在打开时播放,但在 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 尊重静音选项 - 有什么想法吗?

4

2 回答 2

1

您是否尝试过 AVAudioSessionCategorySoloAmbient 类别?

根据Apple 的文档:当您使用此类别时,来自其他应用程序的音频会被静音。您的音频通过屏幕锁定和静音开关(在 iPhone 上称为响铃/静音开关)静音。

于 2012-05-07T19:45:03.630 回答
0

这是一个解决方案:

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

于 2012-05-09T23:31:15.873 回答