AVAudioSessionCategory的选择

AVAudioSessionCategoryAmbient 或 kAudioSessionCategory_AmbientSound
——用于非以语音为主的应用,使用这个category的应用会随着静音键和屏幕关闭而静音。而且不会中止其他应用播放声音,能够和其他自带应用如iPod,safari等同一时候播放声音。

注意:该Category无法在后台播放声音 AVAudioSessionCategorySoloAmbient 或 kAudioSessionCategory_SoloAmbientSound ——相似于AVAudioSessionCategoryAmbient 不同之处在于它会中止其他应用播放声音。 这个category为默认category。该Category无法在后台播放声音 AVAudioSessionCategoryPlayback 或 kAudioSessionCategory_MediaPlayback ——用于以语音为主的应用,使用这个category的应用不会随着静音键和屏幕关闭而静音。

可在后台播放声音 AVAudioSessionCategoryRecord 或 kAudioSessionCategory_RecordAudio ———用于须要录音的应用,设置该category后。除了来电铃声,闹钟或日历提醒之外的其他系统声音都不会被播放。该Category仅仅提供单纯录音功能。

AVAudioSessionCategoryPlayAndRecord 或 kAudioSessionCategory_PlayAndRecord ——用于既须要播放声音又须要录音的应用,语音聊天应用(如微信)应该使用这个category。该Category提供录音和播放功能。

假设你的应用须要用到iPhone上的听筒。该category是你唯一的选择,在该Category下声音的默认出口为听筒(在没有外接设备的情况下)。 注意:并非一个应用仅仅能使用一个category,程序应该依据实际须要来切换设置不同的category,举个样例,录音的时候,须要设置为AVAudioSessionCategoryRecord。当录音结束时。应依据程序须要更改category为AVAudioSessionCategoryAmbient。AVAudioSessionCategorySoloAmbient或AVAudioSessionCategoryPlayback中的一种。<pre name="code" class="objc">设置Category


NSError *setCategoryError = nil;  
BOOL success = [[AVAudioSession sharedInstance]  
                setCategory: AVAudioSessionCategoryAmbient  
                error: &setCategoryError];  
  
if (!success) { /* handle the error in setCategoryError */ }  

 
  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值