TUIAudioEffectManager

最近更新时间:2024-09-20 21:28:33

我的收藏

简介

TUIAudioEffectManager 是管理背景音乐、短音效和人声特效的单例对象。
安装方式
// 使用 npm
npm i @tencentcloud/tuiroom-engine-electron@2.4.0-alpha.3 --save

// 使用 pnpm
pnpm i @tencentcloud/tuiroom-engine-electron@2.4.0-alpha.3 --save

// 使用 yarn
yarn add @tencentcloud/tuiroom-engine-electron@2.4.0-alpha.3

使用示例
import TUIRoomEngine, {
TUIAudioEffectManager, TUIVoiceReverbType, TUIVoiceChangerType
} from '@tencentcloud/tuiroom-engine-electron';

const audioEffectManager: TUIAudioEffectManager = TUIRoomEngine.getAudioEffectManager();
audioEffectManager.setVoiceReverbType(TUIVoiceReverbType.kVoiceReverbType_3);
audioEffectManager.setVoiceChangerType(TUIVoiceChangerType.kVoiceChangerType_1);

audioEffectManager.setMusicObserver({
onStart: (id: number, errCode: number)=>{
console.log(`music start play:`, id, errCode);
},
onPlayProgress: (id: number, curPtsMS: number, durationMS: number) => {
console.log(`music play progress:`, id, curPtsMS, durationMS);
},
onComplete: (id: number, errCode: number) => {
console.log(`music complete:`, id, errCode);
},
});
audioEffectManager.startPlayMusic({
id: 1,
path: 'https://web.sdk.qcloud.com/trtc/electron/download/resources/media/bgm/PositiveHappyAdvertising.mp3',
publish: true,
loopCount: 2,
isShortFile: false,
startTimeMS: 0,
endTimeMS: 0,
});

API

方法
说明
设置人声的混响效果
设置人声的变声特效
设置背景音乐的事件回调
开始播放背景音乐
停止播放背景音乐
暂停播放背景音乐
恢复播放背景音乐
设置所有背景音乐的本地音量和远端音量的大小
设置某一首背景音乐的远端音量的大小
设置某一首背景音乐的本地音量的大小
获取背景音乐的播放进度(单位:毫秒)
获取背景音乐的总时长(单位:毫秒)
设置背景音乐的播放进度(单位:毫秒)

类型定义

类型
说明
背景音乐的播放控制信息
背景音乐播放事件监听器

枚举定义

枚举
说明
混响特效
变声特效

API 详情

setVoiceReverbType

设置人声的混响效果
import TUIRoomEngine, {
TUIAudioEffectManager, TUIVoiceReverbType
} from '@tencentcloud/tuiroom-engine-electron';

const audioEffectManager: TUIAudioEffectManager = TUIRoomEngine.getAudioEffectManager();
audioEffectManager.setVoiceReverbType(TUIVoiceReverbType.kLiveVoiceReverbType_3);
参数
参数
类型
校验
默认值
说明
type
-
-
混响特效
返回值 void

setVoiceChangerType

设置人声的变声特效
import TUIRoomEngine, {
TUIAudioEffectManager, TUIVoiceChangerType
} from '@tencentcloud/tuiroom-engine-electron';

const audioEffectManager: TUIAudioEffectManager = TUIRoomEngine.getAudioEffectManager();
audioEffectManager.setVoiceChangerType(TUIVoiceChangerType.kVoiceChangerType_1);
参数
参数
类型
校验
默认值
说明
type
-
-
混响特效
返回值 void

setMusicObserver

设置背景音乐的事件回调
import TUIRoomEngine, {
TUIAudioEffectManager
} from '@tencentcloud/tuiroom-engine-electron';

const audioEffectManager: TUIAudioEffectManager = TUIRoomEngine.getAudioEffectManager();

audioEffectManager.setMusicObserver({
onStart: (id: number, errCode: number)=>{
console.log(`music start play:`, id, errCode);
},
onPlayProgress: (id: number, curPtsMS: number, durationMS: number) => {
console.log(`music play progress:`, id, curPtsMS, durationMS);
},
onComplete: (id: number, errCode: number) => {
console.log(`music complete:`, id, errCode);
},
});
参数
参数
类型
校验
默认值
说明
observer
-
-
背景音乐播放事件监听器
返回值 void

startPlayMusic

开始播放背景音乐
import TUIRoomEngine, {
TUIAudioEffectManager
} from '@tencentcloud/tuiroom-engine-electron';

const audioEffectManager: TUIAudioEffectManager = TUIRoomEngine.getAudioEffectManager();

audioEffectManager.startPlayMusic({
id: 1,
path: 'https://web.sdk.qcloud.com/trtc/electron/download/resources/media/bgm/PositiveHappyAdvertising.mp3',
publish: true,
loopCount: 2,
isShortFile: false,
startTimeMS: 0,
endTimeMS: 0,
});
参数
参数
类型
校验
默认值
说明
param
-
-
背景音乐参数
返回值 void

stopPlayMusic

停止播放背景音乐
参数
参数
类型
校验
默认值
说明
id
number
-
-
背景音乐 ID
返回值 void

pausePlayMusic

暂停播放背景音乐
参数
参数
类型
校验
默认值
说明
id
number
-
-
背景音乐 ID
返回值 void

resumePlayMusic

恢复播放背景音乐
参数
参数
类型
校验
默认值
说明
id
number
-
-
背景音乐 ID
返回值 void

setAllMusicVolume

设置所有背景音乐的本地音量和远端音量的大小
参数
参数
类型
校验
默认值
说明
volume
number
0-100
60
音量,取值范围 [0, 100],默认值:60。
返回值 void

setMusicPublishVolume

设置某一首背景音乐的远端音量的大小
参数
参数
类型
校验
默认值
说明
id
number
-
-
背景音乐 ID
volume
number
0-100
60
音量,取值范围 [0, 100],默认值:60。
返回值 void

setMusicPlayoutVolume

设置某一首背景音乐的本地音量的大小
参数
参数
类型
校验
默认值
说明
id
number
-
-
背景音乐 ID
volume
number
0-100
60
音量,取值范围 [0, 100],默认值:60。
返回值 void

getMusicCurrentPosInMS

获取背景音乐的播放进度(单位:毫秒)
参数
参数
类型
校验
默认值
说明
id
number
-
-
背景音乐 ID
返回值 Promise<number> 成功返回当前播放时间,单位:毫秒,失败返回 -1。

getMusicDurationInMS

获取背景音乐的总时长(单位:毫秒)
参数
参数
类型
校验
默认值
说明
path
string
-
-
音乐文件路径
返回值 Promise<number> 成功返回时长,单位:毫秒,失败返回 -1。

seekMusicToPosInTime

设置背景音乐的播放进度(单位:毫秒)
参数
参数
类型
校验
默认值
说明
id
number
-
-
背景音乐 ID
pts
number
-
-
播放进度毫秒数
返回值 void

类型详情

TUIAudioMusicParam

字段
类型
说明
id
number
音乐 ID。允许播放多路音乐,因此需要使用 ID 进行标记,用于控制音乐的开始、停止、音量等。
path
string
音效文件的完整路径或 URL 地址。支持的音频格式包括 MP3、AAC、M4A、WAV。
loopCount
number
音乐循环播放的次数。取值范围为0 - 任意正整数,默认值:0。0 表示播放音乐一次;1 表示播放音乐两次;
以此类推。
publish
boolean
是否将音乐传到远端。true:音乐在本地播放的同时,远端用户也能听到该音乐;
false:主播只能在本地听到该音乐,远端观众听不到。默认值:false。
isShortFile
boolean
播放的是否为短音乐文件。true:需要重复播放的短音乐文件;false:正常的音乐文件。默认值:false。
startTimeMS
number
音乐开始播放时间点,单位:毫秒。
endTimeMS
number
音乐结束播放时间点,单位毫秒,0表示播放至文件结尾。

TUIMusicPlayObserver

字段
类型
说明
onStart
Function | null
背景音乐开始播放事件
onPlayProgress
Function | null
背景音乐的播放进度事件
onComplete
Function | null
背景音乐播放完毕事件
onStart
参数
类型
说明
id
number
背景音乐 ID
errCode
number
错误码。0: 开始播放成功;-4001: 打开文件失败,如音频文件格式不支持,本地音频文件不存在,网络音频文件无法访问等。
onPlayProgress
参数
类型
说明
id
number
背景音乐 ID
curPtsMS
number
背景音乐当前播放时间戳
durationMS
number
背景音乐时长
onComplete
参数
类型
说明
id
number
背景音乐 ID
errCode
number
错误码。0: 播放结束;-4002: 解码失败,如音频文件损坏,网络音频文件服务器无法访问等。

枚举详情

TUIVoiceReverbType

混响特效
枚举项
类型
描述
kVoiceReverbType_0
number
关闭特效
kVoiceReverbType_1
number
KTV
kVoiceReverbType_2
number
小房间
kVoiceReverbType_3
number
大会堂
kVoiceReverbType_4
number
低沉
kVoiceReverbType_5
number
洪亮
kVoiceReverbType_6
number
金属声
kVoiceReverbType_7
number
磁性
kVoiceReverbType_8
number
空灵
kVoiceReverbType_9
number
录音棚
kVoiceReverbType_10
number
悠扬
kVoiceReverbType_11
number
录音棚2

TUIVoiceChangerType

变声特效
枚举项
类型
描述
kVoiceChangerType_0
number
关闭
kVoiceChangerType_1
number
熊孩子
kVoiceChangerType_2
number
萝莉
kVoiceChangerType_3
number
大叔
kVoiceChangerType_4
number
重金属
kVoiceChangerType_5
number
感冒
kVoiceChangerType_6
number
外语腔
kVoiceChangerType_7
number
困兽
kVoiceChangerType_8
number
肥宅
kVoiceChangerType_9
number
强电流
kVoiceChangerType_10
number
重机械
kVoiceChangerType_11
number
空灵