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];
    }
    
  • 相关阅读:
    音频播放
    控制器的创建和控制器View的创建
    UIWebView之获取所点位置的图片(放大webView中的图片)
    SQLite的应用
    数据库操作(SQLite)
    计算文件(文件夹)大小
    本人专访微信魔法表情“米悠”作者流星剑
    Swift给每个开发者赢取500万的机会!不看一生后悔。
    疯狂猜图产品和盈利模式分析
    开发者改变世界的初心!
  • 原文地址:https://www.cnblogs.com/lancely/p/5782748.html
Copyright © 2011-2022 走看看