音视频通话 2.0
Android
动态与公告
更新日志(V4.6)
更新日志(V5)
活动与公告
【活动】音视频通话内容安全检测限时补贴
【活动】赠送100万分钟音视频通话时长
【邀测】音视频通话2.0V5.3邀请公测
新手接入指南
产品简介
产品介绍
功能特性
产品优势
应用场景
基本概念
使用限制
性能指标
产品计费
按量计费
资源包
体验 Demo
下载 SDK 和示例代码
升级指南
快速开始
快速跑通 Sample Code
接入流程
创建应用
开通服务
集成 SDK
实现音视频通话
Token 鉴权
高级 Token 鉴权
基础功能
设置音频属性
设置视频属性
设置视频旋转方向
设置通话音量
屏幕共享
音频共享
监测发言者音量
通话前网络质量探测
通话中质量监测
进阶功能
音频管理
客户端音频录制
原始音频数据
美声变声与混响
耳返
自定义音频采集与渲染
音效与伴音
设置音频订阅优先级
音频裸流传输
媒体补充增强信息SEI
视频管理
视频截图
水印
云信美颜
相芯美颜
自定义视频采集
虚拟背景
视频图像畸变矫正
视频裸流传输
多房间管理
设备管理
视频设备管理
音频设备管理
媒体流管理
跨房间媒体流转发
媒体流加密
视频流回退
云端录制
使用云代理
本地服务端录制
AI 融合功能
AI 超分
AI 降噪
场景实践
1 对 1 娱乐社交
语聊房
PK连麦
在线教育
互联网问诊
最佳实践
音视频参数配置推荐
房间连接状态管理
实现音视频安全检测
轻松构建本土Clubhouse
API 参考
Android API 参考
服务端 API
错误码(V5)
错误码(V4.x)
控制台指南
常见问题处理
FAQ
错题集
获取音频 Dump 文件
音频常见问题排查
视频常见问题排查
服务协议

音频设备管理

更新时间: 2023/05/17 10:44:41

在音频场景中,您可能需要根据实际的场地情况选择采用音频的采集和播放设备,例如在室内场景中选用听筒进行音频播放。NERTC SDK 支持自由切换音频设备。

注意事项

耳机连接时,自动使用耳机播放。此时即使设置音频播放设备为扬声器或听筒,仍旧使用耳机播放,耳机断开连接时,恢复音频播放设备的配置。

实现方法

参考如下步骤,在您的项目中切换音频路由:

  1. 在加入房间成功后调用 isSpeakerphoneOn 判断当前是听筒还是扬声器模式。

  2. 调用 setSpeakerphoneOn 接口进行切换。

    • true:扬声器。
    • false:听筒。
  3. 通过监听 onAudioDeviceChanged 回调来监听音频路由切换事件。

示例项目源码

网易云信提供设备管理的示例项目源码 DeviceManagement ,您可以参考该源码实现音频设备管理。

示例代码

    // 判断当前音频路由器。
    boolean isSpeakerphoneOn = NERtcEx.getInstance().isSpeakerphoneOn();
    
    // 设置音频路由。
    NERtcEx.getInstance().setSpeakerphoneOn(isSpeakerphoneOn);
    
    // 音频路由切换回调。
    public void onAudioDeviceChanged(int selected) {
        String audioDevice;
        switch (selected) {
            case NERtcConstants.AudioDevice.EARPIECE:
                audioDevice = "听筒";
                break;
            case NERtcConstants.AudioDevice.BLUETOOTH_HEADSET:
                audioDevice = "蓝牙耳机";
                break;
            case NERtcConstants.AudioDevice.SPEAKER_PHONE:
                audioDevice = "扬声器";
                break;
            case NERtcConstants.AudioDevice.WIRED_HEADSET:
                audioDevice = "有线耳机";
                break;
            default:
                audioDevice = "EARPIECE";
                break;
        }
    }

API参考

方法 功能描述
setPlayoutDeviceMute 设置是否音频播放静音。
setRecordDeviceMute 设置是否音频采集静音。
isSpeakerphoneOn 查看扬声器是否开启。
setSpeakerphoneOn 设置扬声器是否开启。

音频设备回调:

事件 功能描述
onAudioDeviceChanged 语音播放设备发生改变
此文档是否对你有帮助?
有帮助
我要吐槽
  • 注意事项
  • 实现方法
  • 示例项目源码
  • 示例代码
  • API参考