什么是耳返功能?实现耳返功能的技术难点和方案
2024/04/25

在现代音频通信和表演领域,耳返是一项至关重要的技术。它不仅改善了演员、歌手和主持人的工作体验,还提高了他们的表现水平。本文将探讨耳返功能的相关概念,技术上实现的难点及解决方案等。

什么是耳返功能

耳返功能又称耳机返听、耳机采集监听,在设备上插入耳机(普通耳机或蓝牙耳机),能从耳机侧听到麦克风采集的声音。

耳返常见线下使用场景如音乐会和演唱会、戏剧和话剧、电视和广播,录音室等,通过将演员或表演者的声音实时传送到耳机中,使其能够清晰听到自己的演出声音。

而在线上,通过耳返也同样可以让主播在K歌直播、K歌歌曲录制、个人清唱,朗诵等场景下实时监听自己的声音,不断调整主播的声音状态,给观众呈现最佳的视听效果。

实现耳返功能有哪些技术难点

难点一:Android 系统自带的耳返功能较为单一,不能满足用户多样化的需求。

难点二:Android系统繁杂,型号多样,大部分手机设备厂商直接使用Android系统的接口,硬件支持程度的不同,导致耳返效果不同,一些机型耳返延迟(从系统采集到人声从耳机输出)较高。

以上两个痛点,导致肉耳可辨别的延迟让耳返功能大打折扣。直播时,主播听到自己声音变调之后不能及时调整自己的音调,影响了观众的视听体验;在个人清唱、个人歌曲本地录制时,需要歌唱者频繁地停下来重新录制变调部分。另外,当歌唱者跟随伴唱一起唱的时候,会出现让歌唱者伴奏对不上的情况,导致录制出来的效果极差。

对于相同的K歌应用场景而言,iOS系统的表现比Andoid系统好很多,然而对App应用开发商来说,优化耳返效果依然是有心无力。因为无论iOS系统或是Android系统,都是调用系统接口进行音频的采集与输出,开发者从App层面优化的空间极为有限。

解决方案

ZEGO 针对当前普通机型耳返存在的痛点,ZEGO Android SDK 在支持耳返延迟优化功能的机型上,针对App应用开发者需要对不同厂商的系统进行不同私有接口调用的问题进行了适配,将开发者复杂的适配测试工作归结为使用ZEGO Android SDK时的一个接口的调用上,大大降低了开发者需要针对不同机型的适配工作量。

另外,与其他厂商要求开发者自己来维护无法兼容的机型黑名单不同,ZEGO从开发者接入友好、开发过程更便捷的角度出发,由 ZEGO 侧来维护一份黑名单机型列表,从而避免了开发者需要更复杂的逻辑来处理无论如何都无法兼容的机型的问题。

同时ZEGO拥有一批专门从事数字音频领域的技术专家,也有配套的专业技术支持团队7*24小时指导,开发者不需要了解音频相关知识,在ZEGO技术团队的指导下,在自己的应用实现接入低延迟耳返的功能,极大降低了开发商的人才投入成本。

如何开启耳返功能?

在使用耳返功能之前,请确保已在项目中集成 ZEGO SDK,实现基本的实时音视频功能,开启耳返后,需要连接耳机才能体验该功能。

您可以调用 ZEGO SDK 的 enableHeadphoneMonitor 接口开启耳返功能,调用 setHeadphoneMonitorVolume 接口调节耳返音量。

详细开启步骤可参考文档:https://doc-zh.zego.im/article/4310

各平台的示例代码如下:

  • Android
// Java
// 设置开启耳返功能,默认为 false
engine.enableHeadphoneMonitor(true);

// 调节耳返音量,取值范围为 0 ~ 200,默认为 “60”。
engine.setHeadphoneMonitorVolume(60);
  • iOS
// Objective-C
// 设置开启耳返功能,默认为 NO
[engine enableHeadphoneMonitor:YES];

// 调节耳返音量,取值范围为 0 ~ 200,默认为 “60”。
[engine setHeadphoneMonitorVolume:60];
  • Windows
// Windows
// 设置开启耳返功能,默认为 false
engine->enableHeadphoneMonitor(true);

// 调节耳返音量,取值范围为 0 ~ 200,默认为 “60”。
engine->setHeadphoneMonitorVolume(60);
  • Linux
// Linux
// 设置开启耳返功能,默认为 false
engine->enableHeadphoneMonitor(true);

// 调节耳返音量,取值范围为 0 ~ 200,默认为 “60”。
engine->setHeadphoneMonitorVolume(60);
  • Web 平台

开启预览或开始推流后,设置 标签的 “muted” 属性为 “false”,可以开启耳返功能。通过设置 标签的 “volume” 属性值,可以调整耳返的音量。


videoElement.muted = false;

// volume: 0 ~ 1
videoElement.volume = 0.8;
扫一扫,获取更多服务与支持
热门推荐
H.264 与 H.265 视频编解码器的区别,哪个更好?
2024/07/26
直播产品中的“六边形战士”来了!ZEGO 超低延迟直播,高质量带来新增长!
2024/07/23
什么是抖动?如何使用抖动缓冲区来减少抖动
2024/07/22
热门标签
AI 降噪
AI课堂
ExpressSDK
MSDN
RTI
SEI
webrtc
ZIM
互动白板
即构融资
在线KTV
在线K歌
屏幕共享
录屏采集
数智人
直播技术
范围语音
行业报告
语聊房
语音社交
超分
音视频
音视频开发
音视频技术
音频编码
关注我们
获得更多服务与支持了解价格与优惠 扫码关注我们
关注我们
获得更多服务与支持了解价格与优惠 扫码关注我们