zoukankan      html  css  js  c++  java
  • iOS-AVAudioSessionCategory

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

    AVAudioSession的类别

    • AVAudioSessionCategoryAmbient

    混音播放,例如雨声、汽车引擎等,可与其他音乐一起播放

    • AVAudioSessionCategorySoloAmbient

    后台播放,其他音乐将被停止

    • AVAudioSessionCategoryPlayback

    独占音乐播放 (如:用于扬声器播放)

    • AVAudioSessionCategoryRecord

    录制音频

    • AVAudioSessionCategoryPlayAndRecord

    播放和录制音频 (如:用于听筒播放)

    • AVAudioSessionCategoryAudioProcessing

    使用硬件解码器处理音频,该音频会话使用期间,不能播放或录音

    特殊场景

    如:webrtc中视音频通话需要录音,但是声音可以从听筒传出或者话筒传出

    typedef NS_ENUM(NSInteger,SDVideoCallMode){
        SDVideoCallModeInitiator = 0,
        SDVideoCallModeResponder = 1
    };
    @property (nonatomic,assign) SDMediaCallAudioPlayMode audioPlayMode;
    -(void)setAudioPlayMode:(SDMediaCallAudioPlayMode)audioPlayMode{
        _audioPlayMode = audioPlayMode;
        // 录音+扬声器播放
        if (_audioPlayMode == SDMediaCallAudioPlayModeLoudSpeaker) {
            [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
            [[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:nil];
        }
        // 录音+听筒播放
        else{
            [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
            [[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideNone error:nil];
        }
        //[[AVAudioSession sharedInstance] setActive:YES error:nil];
    }
    
  • 相关阅读:
    拓扑排序
    最小费用最大流模板
    有上下界的网络流问题
    网络流模板
    LIS+LCS+LCIS
    【Vijos】1218 数字游戏
    【Vijos】1792 摆花
    【Vijos】1431 守望者的逃离
    【wikioi】1029 遍历问题
    背包模版
  • 原文地址:https://www.cnblogs.com/lancely/p/5782748.html
Copyright © 2011-2022 走看看