畅直播
  • iOS
  • Android : Java
  • macOS
  • Windows
  • Web
  • Flutter
  • 产品简介
    • 概述
    • 发布日志
    • 基本概念
    • 产品优势
    • 应用场景
    • 限制说明
    • 升级指南
  • 计费说明
  • 下载
  • 快速开始
  • 直播推流
  • 直播拉流
  • 基础功能
  • 进阶功能
  • 最佳实践
  • 常用错误码
  • 服务端 API
  • 客户端 API
  • 常见问题

耳返与声道设置

更新时间:2022-07-07 16:24

1 功能简介

ZEGO Express SDK 提供了耳返和双声道的功能,开发者可根据需要设置。

  • 耳返即耳机采集监听,在设备上插入耳机(普通耳机或蓝牙耳机)后,能从本机耳机侧听到本设备麦克风采集的声音。
  • 双声道即两个声音通道,听到声音时可以根据左耳和右耳对声音相位差来判断声源的具体位置。ZEGO Express SDK 默认音频采集单声道,当开发者有高音质需求时,可开启双声道采集功能,通过专门的双声道采集设备可以采集到双声道的音频数据并进行推流。

2 示例源码下载

请参考 下载示例源码 获取源码。

相关源码请查看 “/ZegoExpressExample/AdvancedAudioProcessing/src/main/java/im/zego/advancedaudioprocessing/earreturnandchannelsettings” 目录下的文件。

3 前提条件

在进行耳返与声道设置之前,请确保:

4 使用步骤

4.1 设置耳返

4.1.1 开启耳返

开启预览后或者开始推流后调用 enableHeadphoneMonitor 开启采集监听即耳返,主播方讲话后,会听到自己的声音。

开启耳返后,在连接上耳麦时耳返功能才实际生效。

engine.enableHeadphoneMonitor(true);

4.1.2 设置耳返音量

开启预览后或者开始推流后可调用 setHeadphoneMonitorVolume 调整耳返的音量。

其中参数 “volume” 为采集耳返音量大小,取值范围为 0 ~ 200,默认 “60”。

engine.setHeadphoneMonitorVolume(60);

4.2 设置声道

4.2.1 设置音频双声道编码

在推流前调用 setAudioConfig 方法设置音频质量相关配置,其中音频编码声道参数 “channel” 需要设置为双声道编码(默认值为单声道编码),其他参数取默认值即可。

ZegoAudioConfig audioConfig = new ZegoAudioConfig(ZegoAudioConfigPreset.HIGH_QUALITY_STEREO));
ZegoExpressEngine.getEngine().setAudioConfig(audioConfig);

4.2.2 设置音频采集双声道模式

调用 setAudioCaptureStereoMode 方法开启音频双声道采集,并根据实际场景设置 “Mode” 参数(默认值为始终不开启双声道),用于实现始终开启双声道采集或仅在推流时开启双声道。

ZegoExpressEngine.getEngine().setAudioCaptureStereoMode(ZegoAudioCaptureStereoMode.ALWAYS);

4.2.3 推流

请参考 快速开始 - 实现流程 的 “3.3 推流”,此时所推流的音频是双声道,拉流端无需做额外的配置,直接拉流即可播放双声道音频。

双声道采集需要推流端使用支持双声道采集的设备作为音频输入源,一般手机的麦克风不支持采集双声道。

5 API 参考列表

方法 描述
enableHeadphoneMonitor 开启/关闭耳返
setHeadphoneMonitorVolume 设置耳返音量
setAudioConfig 设置音频质量配置
setAudioCaptureStereoMode 设置音频采集双声道模式
startPublishingStream 开始推流