tencent cloud

文档反馈

音频设置

最后更新时间:2025-01-09 17:09:00
    本文档主要介绍如何使用 RTC Room Engine SDK 实现 音频设置相关功能。

    前提条件

    在使用RTC Room Engine SDK 提供的音频设置相关功能之前,您需要先完成 登录 SDK,并确保自己已在一个直播间当中。

    使用指引

    开启/关闭本地麦克风

    iOS
    Android
    您可以分别通过调用openLocalMicrophonecloseLocalMicrophone两个接口,来开启或关闭您本地的麦克风。
    在调用openLocalMicrophone开启麦克风时,需要传入一个TUIAudioQuality 类型的参数 quality以设置音频编码质量,TUIAudioQuality包含以下类型,您可以根据您的业务需求进行选择:
    枚举值类型
    含义
    speech
    人声模式。单声道;音频裸码率:18kbps;适合语音通话为主的场景。
    default
    默认模式。单声道;音频裸码率:50kbps;SDK 默认的音频质量,如无特殊需求推荐选择之。
    music
    音乐模式。双声道 + 全频带;音频裸码率:128kbps;适合需要高保真传输音乐的场景,比如在线K歌、音乐直播等。
    您可以分别通过调用openLocalMicrophonecloseLocalMicrophone两个接口,来开启或关闭您本地的麦克风。
    在调用openLocalMicrophone开启麦克风时,需要传入一个AudioQuality 类型的参数 quality以设置音频编码质量,AudioQuality包含以下类型,您可以根据您的业务需求进行选择:
    枚举值类型
    含义
    SPEECH
    人声模式。单声道;音频裸码率:18kbps;适合语音通话为主的场景。
    DEFAULT
    默认模式。单声道;音频裸码率:50kbps;SDK 默认的音频质量,如无特殊需求推荐选择之。
    MUSIC
    音乐模式。双声道 + 全频带;音频裸码率:128kbps;适合需要高保真传输音乐的场景,比如在线K歌、音乐直播等。
    下面以默认模式为例,提供了开启本地麦克风和关闭本地麦克风的示例代码。
    iOS
    Android
    import RTCRoomEngine
    
    let roomEngine = TUIRoomEngine.sharedInstance()
    
    // 开启本地麦克风
    roomEngine.openLocalMicrophone(.default) {
    // 开启麦克风成功
    } onError: { code, message in
    // 开启麦克风失败
    }
    
    // 关闭本地麦克风
    roomEngine.closeLocalMicrophone()
    TUIRoomEngine roomEngine = TUIRoomEngine.sharedInstance();
    // 开启本地麦克风
    roomEngine.openLocalMicrophone(TUIRoomDefine.AudioQuality.DEFAULT, new TUIRoomDefine.ActionCallback() {
    @Override
    public void onSuccess() {
    // 开启麦克风成功
    }
    @Override
    public void onError(TUICommonDefine.Error error, String message) {
    // 开启麦克风失败
    }
    });
    // 关闭本地麦克风
    roomEngine.closeLocalMicrophone();

    更新本地音频编码质量

    iOS
    Android
    更新本地音频编码质量时,需要传入的参数类型TUIAudioQuality 与上文中提到的相同。下面以默认模式为例,调用updateAudioQuality接口更新本地音频的编码质量:
    import RTCRoomEngine
    
    let audioQuality: TUIAudioQuality = .default
    TUIRoomEngine.sharedInstance().updateAudioQuality(audioQuality)
    更新本地音频编码质量时,需要传入的参数类型AudioQuality 与上文中提到的相同。下面以默认模式为例,调用updateAudioQuality接口更新本地音频的编码质量:
    TUIRoomDefine.AudioQuality audioQuality = TUIRoomDefine.AudioQuality.DEFAULT;
    TUIRoomEngine.sharedInstance().updateAudioQuality(audioQuality);

    暂停/恢复发布本地音频流

    当您在直播间内时,您可能需要暂停/恢复发布您的本地音频流,您可以通过调用以下接口来实现:
    iOS
    Android
    import RTCRoomEngine
    
    let roomEngine = TUIRoomEngine.sharedInstance()
    
    // 暂停发布本地音频流
    roomEngine.muteLocalAudio()
    
    // 恢复发布本地音频流
    roomEngine.unmuteLocalAudio() {
    // 恢复发布成功
    } onError: { code, message in
    // 恢复发布失败
    }
    TUIRoomEngine roomEngine = TUIRoomEngine.sharedInstance();
    
    // 暂停发布本地音频流
    roomEngine.muteLocalAudio();
    
    // 恢复发布本地音频流
    roomEngine.unmuteLocalAudio(new TUIRoomDefine.ActionCallback() {
    @Override
    public void onSuccess() {
    // 恢复发布成功
    }
    
    @Override
    public void onError(TUICommonDefine.Error error, String message) {
    // 恢复发布失败
    }
    });
    说明:
    在房间内,若您已打开您的麦克风,调用如上接口暂停/恢复发布本地的音频流后,SDK 会通过 TUIRoomObserver 中的 onUserAudioStateChanged 回调通知房间内用户。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持