混音

本章节介绍混音相关的功能,通过阅读本章节你可以快速了解混音功能的调用方法和流程。混音是指在音视频通话和互动直播过程中,将云端的音频文件与本端麦克风采集的声音数据混音后发送出去,同时也可以在本端播放出来的功能。 混音功能可以处理浏览器支持语音播放的音频文件类型,如 aac、mp3等。 该功能支持设置文件播放次数、混音音量,支持通话中开始、暂停、恢复、更新及停止文件混音。

混音(webrtc)

开始文件混音任务

const audioMixingEndHandler = function(event){
  console.warn('伴音结束: ', event)
}
const options = {
  audioFilePath: '"someaudio.mp3"', 
  loopback: false,
  replace: false,
  cycle: 0,
  playStartTime: 0,
  auidoMixingEnd: audioMixingEndHandler
}
netcall.startAudioMixing(options).then(res=>{
  console.log('伴音成功')
}).catch(err=>{
  console.error('伴音失败: ', err)
})
参数名 类型 说明
audioFilePath String 必须,云端音频文件路径
loopback Boolean 可选,是否循环播放,缺省为false,即播放一次就结束(这里如果是false,则cycle参数不生效)
replace Boolean 可选,是否替换麦克风采集的音频数据,缺省为false
cycle number 可选,表示循环播放的次数,需要loopback参数置为true(如果想无限循环,cycle设置为0,loopback设置为true),缺省为0,如果loopback为true,表示无限循环,如果loopback为false,该参数不生效
playStartTime number 可选,设置音频文件开始播放的位置,单位为 s。缺省设为 0,即从头开始播放
auidoMixingEnd Function 可选,伴音文件播放完成时的通知反馈

err(格式是Object)伴音错误码,属性如下:

err属性名 类型 说明
name string 错误名称
code number 错误码
desc string 错误描述

startAudioMixing接口可能出现的错误码

name code desc
'AudioMixingUnsupport' 63102 '该浏览器不支持伴音功能'
'AudioFileDownloadError' 63101 '伴音文件加载失败'
'AudioStreamFetchError' 63002 '获取麦克风音频流失败'
'AudioDisabled' 63007 '音频功能已被禁用'

暂停本地语音伴音

netcall.pauseAudioMixing().then(res=>{
  console.log('暂停伴音成功')
}).catch(err=>{
  console.error('暂停伴音失败: ', err)
})

err(格式是Object)伴音错误码,属性如下:

err属性名 类型 说明
name string 错误名称
code number 错误码
desc string 错误描述

pauseAudioMixing接口可能出现的错误码

name code desc
'AudioMixingUnsupport' 63102 '该浏览器不支持伴音功能'
'pausedMusicalAccompaniment' 63104 '已经暂停伴音'
'UnstartMusicalAccompaniment' 63105 '当前没有伴音'

恢复本地语音伴音

netcall.resumeAudioMixing().then(res=>{
  console.log('恢复伴音成功')
}).catch(err=>{
  console.error('恢复伴音失败: ', err)
})

err(格式是Object)伴音错误码,属性如下:

err属性名 类型 说明
name string 错误名称
code number 错误码
desc string 错误描述

resumeAudioMixing接口可能出现的错误码

name code desc
'AudioMixingUnsupport' 63102 '该浏览器不支持伴音功能'
'UnpauseMusicalAccompaniment' 63103 '已经暂停伴音'
'UnstartMusicalAccompaniment' 63105 '当前没有伴音'

停止伴音

netcall.stopAudioMixing().then(res=>{
  console.log('停止伴音成功')
}).catch(err=>{
  console.error('停止伴音失败: ', err)
})

err(格式是Object)伴音错误码,属性如下:

err属性名 类型 说明
name string 错误名称
code number 错误码
desc string 错误描述

stopAudioMixing接口可能出现的错误码

name code desc
'AudioMixingUnsupport' 63102 '该浏览器不支持伴音功能'
'UnstartMusicalAccompaniment' 63105 '当前没有伴音'

设置伴音的音量

const volume = 100
netcall.setAudioMixingVolume(volume).then(res=>{
  console.log('设置伴音的音量成功')
}).catch(err=>{
  console.error('设置伴音的音量失败: ', err)
})
参数名 类型 说明
volume Number 必须,设置的音量,取值0-255

err(格式是Object)伴音错误码,属性如下:

err属性名 类型 说明
name string 错误名称
code number 错误码
desc string 错误描述

stopAudioMixing接口可能出现的错误码

name code desc
'AudioMixingUnsupport' 63102 '该浏览器不支持伴音功能'
'UnstartMusicalAccompaniment' 63105 '当前没有伴音'
'ParamError' 11405 '参数错误'

获取伴音文件的总时长


const audioFileTotalTime = netcall.getAudioMixingTotalTime()
audioFileTotalTime属性 类型 说明
totalTime Number 音乐文件总时长,单位是s

设置伴音播放的位置

const playStartTime = 10
netcall.setAudioMixingPlayTime(playStartTime).then(res=>{
  console.log('设置伴音播放的位置成功')
}).catch(err=>{
  console.error('设置伴音播放的位置失败: ', err)
})
参数名 类型 说明
playStartTime Number 必须,设置的开始播放时间,取值0-音乐文件的总时长

err(格式是Object)伴音错误码,属性如下:

err属性名 类型 说明
name string 错误名称
code number 错误码
desc string 错误描述

stopAudioMixing接口可能出现的错误码

name code desc
'AudioMixingUnsupport' 63102 '该浏览器不支持伴音功能'
'UnstartMusicalAccompaniment' 63105 '当前没有伴音'
'ParamError' 11405 '参数错误'

获取伴音文件的播放进度


const audioFilePlayedTime = netcall.getAudioMixingPlayedTime()
audioFilePlayedTime属性 类型 说明
playedTime Number 音乐文件已经播放了多久,单位是s