1 耳返功能简介

ZEGO Express SDK 提供了Flutter耳返和双声道的功能,在视频直播、K歌、音频录制等场景下广泛应用,开发者可根据实际业务场景需要设置,一套代码可实现跨平台音视频耳返功能,节省开发成本。

实时音视频的耳返作用就是在嘈杂的环境下,清楚地听伴奏和自己的声音,来鉴定自己有没有走音。技术实现上要实时录制的音频低延迟播放出去,这个过程对延迟要求很高。

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

2 实现耳返和声道功能的前提条件

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

  • 已在项目中集成 ZEGO Express SDK,实现基本的实时音视频功能,详情请参考 快速开始 - 集成 和 快速开始 - 实现流程。
  • 已在 ZEGO 控制台 创建项目,并申请有效的 AppID 和 AppSign,详情请参考 控制台 - 项目管理 中的“项目信息”。

3 ZEGO 音视频 SDK使用步骤

3.1 设置直播或K歌场景下的耳返

3.1.1 开启直播耳返

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

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

ZegoExpressEngine.instance.enableHeadphoneMonitor(true);

3.1.2 设置耳返音量

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

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

ZegoExpressEngine.instance.setHeadphoneMonitorVolume(100);

3.2 设置声道

setAudioConfigsetAudioCaptureStereoMode 都需要在 startPublishingStreamstartPlayingStreamstartPreviewcreateMediaPlayercreateAudioEffectPlayer 之前调用才有效。

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 即构音效解决方案

ZEGO 即构音视频SDK还拥有AI降噪、美声音效的能力,在线K歌场景中可锦上添花,配合超低延时耳返功能,端到端延迟低于 70 ms,达到人体无感官延迟水平,演唱者可享受极致的K歌体验,畅享真正实时的快乐。

Flutter耳返和双声道功能的实现相关推荐

  1. 使用Unity来实现全民K歌唱歌,耳返效果和混响功能

    使用Unity来实现全民K歌唱歌,耳返效果和混响功能 首先呢要获取麦克风设备列表 string[] micDevicesName;AudioSource aud;string microphoneNa ...

  2. iOS开发 AudioUnit+AUGraph实现录音耳返功能

    文章目录 前言 需求分析 使用AudioUnit的原因 使用AUGraph的原因 具体实现步骤 GSNAudioUnitGraphDemo使用方法 出现过的问题及思考 后记 Demo地址 参考文章 前 ...

  3. ffmpeg 如何把左右声道_耳机里的乾坤 | 左右声道?耳返?这些耳机常识,爱听音乐的你一定不会错过...

    原创 朱广思 小耳机大乾坤 耳机是现代人离不开的工具,耳机从有线发展到无线蓝牙,大大便利了我们的生活.工作学习之余,带上耳机,听几首好听的音乐,简直不能再幸福. 你知道吗?小耳机里有大乾坤.1924年 ...

  4. HMS Core积极探索基于硬件耳返的功能,助力唱吧整体唱歌延迟率降低60%

    唱吧的使命是让唱歌更简单.让生活更美好,其布局的K歌业务专注于让曲库更全.音质更好,开创了同框合唱.弹唱等有意思的游戏类K歌玩法.为了让用户拥有更加沉浸的娱乐体验,唱吧与HMS Core积极探索基于硬 ...

  5. Android耳返功能的实现

    本文要介绍的是一个耳返功能,就是实现插入usb mic之后就打通一个usb mic到speaker的回环,把拿到的usb mic的数据直接写到下行.有两种方案,一种方式是audio hal拿到mic数 ...

  6. android声音播放函数双声道合并,Android音频编辑之音频合成功能

    前言 音频编辑系列: 本篇主要讲解音频PCM数据的合成,这里合成包括音频之间的拼接,混合. - 音频拼接:一段音频连接着另一段音频,两段音频不会同时播放,有先后顺序. - 音频混合:一段音频和另一段音 ...

  7. 基于Android实现K歌场景下超低延时耳返

    1 功能简介 在音视频应用中我们经常涉及到耳机麦克风和设备麦克风的切换.不同声道的配置.在遇到这种情况的时候,我们如何配置呢? 耳返即耳机采集监听,在设备上插入耳机(普通耳机或蓝牙耳机)后,能从本机耳 ...

  8. 音视频开发进阶指南:基于iOS实现超低延时耳返

    1 功能简介 在音视频应用中我们经常涉及到耳机麦克风和设备麦克风的切换.不同声道的配置.在遇到这种情况的时候,我们如何配置呢? 耳返即耳机采集监听,在设备上插入耳机(普通耳机或蓝牙耳机)后,能从本机耳 ...

  9. AudioUnit录制音频+耳返(四)

    前言 视频直播,K歌应用等等都会有音频录制的功能,音频录制时还可以带有耳返效果,那这些是如何实现的呢?如果仅仅是录制音频,那使用IOS的AudioQueue框架实现即可,但是在直播这些实时性要求比较高 ...

最新文章

  1. 6.2 sql安全性
  2. 如何限制IP,通过SSH登陆linux服务器
  3. 从一个实例,一窥docker进程管理
  4. mysql python 3.5_python3.5 与 mysql 交互
  5. LeetCode MySQL 1821. 寻找今年具有正收入的客户
  6. Python实现抓取CSDN博客首页文章列表
  7. 函数节流之debounce
  8. 【linux系统学习笔记】linux基本操作
  9. 【毕设笔记】轴承振动数据故障诊断软件系统
  10. 怎么把office卸载干净?
  11. 关于IDEA无法使用搜狗输入法输入中文问题
  12. Jupyter Notebook打开出现“python.exe无法找到入口 无法定位程序输入点...动态链接库E:\Anaconda3\pythoncom36.dll上”
  13. 机器学习——PCA(主成分分析)与人脸识别
  14. 笑晕,小米新logo是这么来的
  15. ps切图(2)——简单工具操作(1)
  16. 参考文献中英文人名_参考文献英文名字应该怎么写?
  17. 常见的Linux命令缩写
  18. sql 累计占比_SQL语句-求总和的百分比
  19. 百度跳动争抢优质内容,豆瓣微博们何去何从?
  20. win7如何设置通电自动开机_如何通过BIOS设置电脑接通电源就自动启动进入系统...

热门文章

  1. 【学习笔记】前端入门自学笔记(二)
  2. 盘点:只有偏执狂才能成功
  3. 小米6的无线网连接到服务器,解锁小米6的2.4GWIFI连接速率 小米6WIFI连接速率解锁...
  4. java我的世界极限生存_我的世界极限生存模式攻略 极限生存心得
  5. 关于Win8应用商店开发的便捷性
  6. 明基[BenQ]笔记本台式机 GhostXP SP3 专业系统 V2011.04
  7. c++实现1000以内的阶乘
  8. 推荐系统2——协同过滤CF
  9. 32位计算机通常是指控制总线,“三校生”对口升学计算机应用试卷计算机基础知识(含答案)...
  10. Python面试应急5分钟!