Flutter耳返和双声道功能的实现
1 耳返功能简介
ZEGO Express SDK 提供了Flutter耳返和双声道的功能,在视频直播、K歌、音频录制等场景下广泛应用,开发者可根据实际业务场景需要设置,一套代码可实现跨平台音视频耳返功能,节省开发成本。
实时音视频的耳返作用就是在嘈杂的环境下,清楚地听伴奏和自己的声音,来鉴定自己有没有走音。技术实现上要实时录制的音频低延迟播放出去,这个过程对延迟要求很高。
- 耳返即耳机采集监听,在设备上插入耳机(普通耳机或蓝牙耳机)后,能从本机耳机侧听到本设备麦克风采集的声音。
- 双声道即两个声音通道,听到声音时可以根据左耳和右耳对声音相位差来判断声源的具体位置。ZEGO Express SDK 默认音频采集单声道,当开发者有高音质需求时,可开启双声道采集功能,通过专门的双声道采集设备可以采集到双声道的音频数据并进行推流。
- 已在项目中集成 ZEGO Express SDK,实现基本的实时音视频功能,详情请参考 快速开始 - 集成 和 快速开始 - 实现流程。
- 已在 ZEGO 控制台 创建项目,并申请有效的 AppID 和 AppSign,详情请参考 控制台 - 项目管理 中的“项目信息”。
3.1.1 开启直播耳返 开启预览后或者开始推流后调用
enableHeadphoneMonitor
开启采集监听即耳返,主播方讲话后,会听到自己的声音。开启耳返后,在连接上耳麦时耳返功能才实际生效。
ZegoExpressEngine.instance.enableHeadphoneMonitor(true);
3.1.2 设置耳返音量 开启预览后或者开始推流后可调用
setHeadphoneMonitorVolume
调整耳返的音量。其中参数 “volume” 为采集耳返音量大小,取值范围为 0 ~ 200,默认 “60”。
ZegoExpressEngine.instance.setHeadphoneMonitorVolume(100);
3.2 设置声道
setAudioConfig
和 setAudioCaptureStereoMode
都需要在 startPublishingStream
、startPlayingStream
、startPreview
、createMediaPlayer
和 createAudioEffectPlayer
之前调用才有效。3.2.1 设置音频双声道编码 在推流前调用
setAudioConfig
方法设置音频质量相关配置,其中音频编码声道参数 “channel” 需要设置为双声道编码(默认值为单声道编码),其他参数取默认值即可。var audioConfig = ZegoAudioConfig.preset(ZegoAudioConfigPreset.HighQualityStereo));
ZegoExpressEngine.instance.setAudioConfig(audioConfig);
3.2.2 设置音频采集双声道模式 调用
setAudioCaptureStereoMode
方法开启音频双声道采集,并根据实际场景设置 “Mode” 参数(默认值为始终不开启双声道),用于实现始终开启双声道采集或仅在推流时开启双声道。ZegoExpressEngine.instance.setAudioCaptureStereoMode(ZegoAudioCaptureStereoMode.Always);
3.2.3 推流 请参考 快速开始 - 实现流程 的 “3.3 推流”,此时所推流的音频是双声道,拉流端无需做额外的配置,直接拉流即可播放双声道音频。
双声道采集需要推流端使用支持双声道采集的设备作为音频输入源,一般手机的麦克风不支持采集双声道。
4 ZEGO 即构音效解决方案 【Flutter耳返和双声道功能的实现】ZEGO 即构音视频SDK还拥有AI降噪、美声音效的能力,在线K歌场景中可锦上添花,配合超低延时耳返功能,端到端延迟低于 70 ms,达到人体无感官延迟水平,演唱者可享受极致的K歌体验,畅享真正实时的快乐。
推荐阅读
- React和DOM的那些事-节点新增算法
- Parallels Desktop 18 for Mac(兼容Intel和M系列的Pd虚拟机)「更换证书,修复激活后卡顿问题」
- iOS开发frame和bounds使用示例详解
- 投稿|从网吧“升级说”到电竞“新生态”:玩家和需求造就的场景革命
- Flink 通过 State Processor API 实现状态的读取和写入
- 和面试官谈谈BFC
- vue.js|基于VUE和Node.js的医院挂号预约管理系统
- 新能源|受累内卷和一体化,东方日升从光伏“新秀”沦为”后进生“|钛媒体深度
- Java基础知识和回顾|Java的数据类型转换以及运算符优先级
- 社交媒体|抖化后的 Instagram,决定和 TikTok 一起变「丑」