还有其他主题,但我不能对它们发表评论,我已经尝试了所有列出的方法。
我的应用程序有一首可以在打开时播放的歌曲,但点击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尊重静音选项 - 任何想法?
答案 0 :(得分:1)
您是否尝试过类别AVAudioSessionCategorySoloAmbient?
每Apple's docs: 使用此类别时,其他应用程序的音频将被静音。通过屏幕锁定和静音开关(在iPhone上称为响铃/静音开关)使您的音频静音。
答案 1 :(得分:0)
这是一个解决方案:
在调用setCategory之后,我使用NSTimer延迟播放音频,直到1秒。这适用于iPad 3& iPad 1(尚未测试2)。