设备处于静音模式时播放声音

时间:2016-12-01 00:09:42

标签: ios audio

我是编码应用程序的新手,我创建了一个播放声音的简单应用程序。我测试了它,它工作得很好。但是,我想在静音模式下播放声音。

以下是代码:

#import "ViewController.h"
@interface ViewController ()
@end

@implementation ViewController

-(IBAction)Button1Sound:(id)sender{
    AudioServicesPlaySystemSound(Button1);
}

- (void)viewDidLoad {
    NSURL *Button1Sound = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"nobody" ofType:@"m4a"]];
    AudioServicesCreateSystemSoundID((__bridge CFURLRef)Button1Sound, & Button1);

    [super viewDidLoad];
}

@end

我在线查看了其他问题,他们说要添加这行代码:

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

我不知道在哪里放或者我使用正确的语法。我也在使用audiotoolbox框架。

1 个答案:

答案 0 :(得分:0)

当处于静音模式时,除非用户明确启动声音播放(例如媒体播放),否则它将违反人机界面指南(HIG),并且是应用被拒绝的理由。< / p>

根据HIG

  

沉默。人们将设备切换为静音,以避免被意外声音打断,例如铃声和传入的消息声音。他们还希望禁用非必要声音,包括键盘声音,声音效果,游戏音轨和其他声音反馈。当设备设置为静音时,只会发生明确发起的声音,例如媒体播放,闹钟和音频/视频消息传递过程中的音频。

如果您认为自己的需求没有违规,请参阅此post了解解决方案。