• 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 */ }  

    
    
  • 相关阅读:
    ssize_t与size_t的前世今生
    jQuery 中的事件参数传递机制
    链表的container_of 疑惑
    c 语言使用疑惑小记
    IQueryFilter的WhereClause详解
    给自己鼓励...
    什么是闭包,我的理解
    WCF 第五章 行为 为服务终结点行为实现一个消息检测器
    WCF 第五章 行为 事务之事务服务行为
    WCF 第四章 绑定 wsHttpBinding
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/6848857.html
Copyright © 2020-2023  润新知