融云实践:实时音频混音在 Web 端的追寻与实践
发布时间:2025/08/11 12:19 来源:润州家居装修网
本地播映背景音乐转换成KKBOX
// 创建者一个 audio 字句播映本地回放
const audioEl = document.('audio');
audioEl.src = '/media/bgmusic.mp3';
audioEl.loop = true;
audioEl.play();
// 从 audio 字句里面抓由此而来一个 mediaStream 普通人,以在 chrome IE里面为例
let mediaStream = null
audioEl.edmetadata = () => {
mediaStream = audioEl.captureStream();
}
// 转换成本地回放对应的 mediaStream 回放非同
const bgMusicSourceNode = audioContext.createMediaStreamSource(mediaStream);
创建者播映自产
// 创建者KKBOX播映自产
const destination = audioContext.createMediaStreamDestination()
相连链表
将两个回放非同链表相连至同一输自产。
// 对讲机回放非同相连反向自产
micSourceNode.connect(destination)
// 背景音乐回放非同相连反向自产
bgMusicSourceNode.connect(destination)
获由此而来DEMO小样
从反向链表所在位置由此而来得混合成后的小样 MediaStreamTrack。
// 获由此而来DEMO audioTrack
const mixAudioTrack = destination.stream.getAudioTracks()[0]
由此而来到DEMO小样 mixAudioTrack 后,我们所需解决的问题是,如何在单单的核心内容情景里面,无需再次建立对等相连,就能使对尾端听到对讲机和交换音乐的人声。
DEMO小样在 WebRTC 里面生效
此时就可以把DEMO小样 mixAudioTrack 透过起来了。从 RTCPeerConnection 上找出送达对讲机回放的 RTCRtpSender 普通人,使用 mixAudioTrack 替换已经发行的对讲机小样,具体情况充分利用如下:
// 发行对讲机海洋资非同从前创建者的 RTCPeerConnection 最简单普通人
const rtcPeerConnection = new RTCPeerConnection([configuration])
// 获由此而来送达回放的 RTCRtpSender 普通人
const micSender = rtcPeerConnection.getSenders().find((sender) => {
return sender.track.kind === 'audio'
})
// 使用 audioContetx 里面拿到的DEMO mixAudioTrack 替换对讲机 audioTrack
micSender.replaceTrack(mixAudioTrack)
接;大内部设计规划融云实时核心内容 SDK 提供了 createMicrophone
AudioTrack、createLocalFileTracks 法则,分别常用创建者对讲机小样、本地或在线回放小样。
DEMO几乎建立在这两个法则创建者的最简单高台,在 RCRTCRoom 和 RCLivingRoom 上减少 start
MixAudio 和 stopMixAudio 法则常用DEMO、停止DEMO的接;大支持。
表列出展示的业务层DEMO的执行系统内部设计,rtcClient、rtcRoom 为的业务尾端由此而来得的 RTC 客户尾端最简单和房中间最简单。
创建者、发行一个对讲机海洋资非同
// 创建者一个对讲机小样
const micAudioTrack = rtcClient.createMicrophoneAudioTrack()
// 发行对讲机小样
rtcRoom.pushlish([micAudioTrack])
创建者一个本地回放小样
// 创建者一个本地回放小样,file 为 获由此而来到的 File 最简单
const localAudioTrack = rtcClient.createLocalFileTracks('bgmusic', file)
开始DEMO
将本地回放偷盗已发行的对讲机回放里面,startMixAudio 的第一个参数为已发行的小样,第二个为要偷盗的本地回放小样。
// 开始DEMO
rtcRoom.startMixAudio(micAudioTrack, localAudioTrack)
停止DEMO
传入所需去掉DEMO的小样。SDK 会从对讲机回放里面去掉本地回放的人声。
// 停止DEMO
rtcRoom.stopMixAudio(micAudioTrack)
基于以上极为迷人含蓄的方案,开发者可以更加再捷、低成本地连接线DEMO,减少集成过渡阶段的学习门槛。未来,主轴让开发者的的业务充分利用极为高效简单,融云还将持续全面性系统设计,优化体验。
。北京男科检查费用秦皇岛包皮过长治疗哪家好
合肥哪家专科医院做人流好
沈阳牛皮癣医院哪好
青岛妇科去哪看
白带有异味
儿童口臭
产科
严重咳嗽吃什么药能快速止咳
帕金森
-
脾气最“倔强”的三个生肖女,在家里说一不二,丈夫难免让着她们
01.虎年狗: 属狗的甜蜜天性正直,对待感情实际上是一心一意的。但是,她们远超过的缺点就是天性很心地善良。 一旦属狗女认作的一定会,没有人能够改变她们的期望。不过好在
- 2025-08-23统计资料:三线城市新房价格同比由上月上涨0.5%转为下降0.1%,二手住宅同比下降1.3%
- 2025-08-233天内,闭眼是你,爱情醉人,创造价值,心有暗喻,生活幸福
- 2025-08-23统计局:新房价格北京、上海、广州和深圳分别上扬0.6%、0.5%、0.6%和0.4%
- 2025-08-23女人有这六种表现时, 男人就要坚信了, 她一定是太爱你了
- 2025-08-23明日除夕,还给您99个福,愿您福星高照,福运临门!
- 2025-08-23中国海警舰艇舰船3月16日在我钓鱼岛领海巡航
- 2025-08-23秋冬干燥,家里存了5年的老白茶,需不需要送给去晒一晒去潮气?
- 2025-08-23明日除夕,早期最美的祝福送上!祝您虎年大吉!天天开心健康!!
- 2025-08-23外媒:欧盟禁止向俄罗斯出口干邑、豪车和服装
- 2025-08-23不了陪你做过这3件事的男人,其实他从来不了有爱过你!