系统的声音是需要我们手动去获取的,默认是没有声音的。
首先你要确保player的属性muted为NO,即非静音,当然NO是系统默认的。然后设置一下category即可
NSError *error = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&error];
AVAudioSessionCategoryAmbient是一个字符串枚举,讲一下几个常用的category的含义:
// app的声音可与其它app共存,但锁屏和静音模式会被静音,除非当前app是唯一播放的app
AVAudioSessionCategoryAmbient
// 会停止其他程序的音频播放。当设备被设置为静音模式,音频会随之静音
AVAudioSessionCategorySoloAmbient
// 仅用来录音,无法播放音频
AVAudioSessionCategoryRecord
// 会停止其它音频播放,并且能在后台播放,锁屏和静音模式都能播放声音
AVAudioSessionCategoryPlayback
// 能播也能录,播放默认声音是从听筒出来
AVAudioSessionCategoryPlayAndRecord
上面提到的静音模式,指的是点击了iPhone手机上的静音按钮(静音按钮在AssistiveTouch,就是屏幕上的虚拟home键中比较容易找到),并不是指慢慢慢慢地降低声音直到静音,那不是静音模式,只是声音降到了0而已
网友评论