LiteAVSDK
腾讯云音视频 SDK ,服务于数万家企业客户的高可用组件,致力于最大限度地节省您的研发成本。
TXAudioEffectManager

详细描述

Tencent Cloud Audio Effect Management Module

Module: TRTC 背景音乐、短音效和人声特效的管理类 Function: 用于对背景音乐、短音效和人声特效进行设置的管理类


结构体说明

◆ liteav::ITXMusicPlayObserver

class liteav::ITXMusicPlayObserver

Public 成员函数

virtual ~ITXMusicPlayObserver ()
 
virtual void onStart (int id, int errCode)=0
 
virtual void onPlayProgress (int id, long curPtsMS, long durationMS)=0
 
virtual void onComplete (int id, int errCode)=0
 

构造及析构函数说明

◆ ~ITXMusicPlayObserver()

virtual ~ITXMusicPlayObserver ( )
inlinevirtual

成员函数说明

◆ onComplete()

virtual void onComplete ( int  id,
int  errCode 
)
pure virtual

背景音乐已经播放完毕

◆ onPlayProgress()

virtual void onPlayProgress ( int  id,
long  curPtsMS,
long  durationMS 
)
pure virtual

背景音乐的播放进度

◆ onStart()

virtual void onStart ( int  id,
int  errCode 
)
pure virtual

背景音乐开始播放

◆ liteav::AudioMusicParam

class liteav::AudioMusicParam

Public 成员函数

 AudioMusicParam (int id_, char *path_)
 

成员变量

int id
 
char * path
 
int loopCount
 
bool publish
 
bool isShortFile
 
long startTimeMS
 
long endTimeMS
 

构造及析构函数说明

◆ AudioMusicParam()

AudioMusicParam ( int  id_,
char *  path_ 
)
inline

结构体成员变量说明

◆ endTimeMS

long endTimeMS

【字段含义】音乐结束播放时间点,单位毫秒,0表示播放至文件结尾。

◆ id

int id

【字段含义】音乐 ID

【特殊说明】SDK 允许播放多路音乐,因此需要使用 ID 进行标记,用于控制音乐的开始、停止、音量等。

◆ isShortFile

bool isShortFile

【字段含义】播放的是否为短音乐文件

【推荐取值】true:需要重复播放的短音乐文件;false:正常的音乐文件。默认值:false

◆ loopCount

int loopCount

【字段含义】音乐循环播放的次数

【推荐取值】取值范围为0 - 任意正整数,默认值:0。0表示播放音乐一次;1表示播放音乐两次;以此类推

◆ path

char* path

【字段含义】音效文件的完整路径或 URL 地址。支持的音频格式包括 MP3、AAC、M4A、WAV

◆ publish

bool publish

【字段含义】是否将音乐传到远端

【推荐取值】true:音乐在本地播放的同时,远端用户也能听到该音乐;false:主播只能在本地听到该音乐,远端观众听不到。默认值:false。

◆ startTimeMS

long startTimeMS

【字段含义】音乐开始播放时间点,单位:毫秒。

◆ liteav::ITXAudioEffectManager

class liteav::ITXAudioEffectManager

人声相关的特效接口

virtual void setVoiceReverbType (TXVoiceReverbType type)=0
 
virtual void setVoiceCaptureVolume (int volume)=0
 
virtual void setVoicePitch (double pitch)=0
 

背景音乐的相关接口

virtual void setMusicObserver (int musicId, ITXMusicPlayObserver *observer)=0
 
virtual void startPlayMusic (AudioMusicParam musicParam)=0
 
virtual void stopPlayMusic (int id)=0
 
virtual void pausePlayMusic (int id)=0
 
virtual void resumePlayMusic (int id)=0
 
virtual void setAllMusicVolume (int volume)=0
 
virtual void setMusicPublishVolume (int id, int volume)=0
 
virtual void setMusicPlayoutVolume (int id, int volume)=0
 
virtual void setMusicPitch (int id, float pitch)=0
 
virtual void setMusicSpeedRate (int id, float speedRate)=0
 
virtual long getMusicCurrentPosInMS (int id)=0
 
virtual long getMusicDurationInMS (char *path)=0
 
virtual void seekMusicToPosInTime (int id, int pts)=0
 

构造及析构函数说明

◆ ITXAudioEffectManager()

ITXAudioEffectManager ( )
inlineprotected

◆ ~ITXAudioEffectManager()

virtual ~ITXAudioEffectManager ( )
inlineprotectedvirtual

成员函数说明

◆ getMusicCurrentPosInMS()

virtual long getMusicCurrentPosInMS ( int  id)
pure virtual

获取背景音乐的播放进度(单位:毫秒)

参数
id音乐 ID
返回
成功返回当前播放时间,单位:毫秒,失败返回-1

◆ getMusicDurationInMS()

virtual long getMusicDurationInMS ( char *  path)
pure virtual

获取背景音乐的总时长(单位:毫秒)

参数
path音乐文件路径。
返回
成功返回时长,失败返回-1

◆ pausePlayMusic()

virtual void pausePlayMusic ( int  id)
pure virtual

暂停播放背景音乐

参数
id音乐 ID

◆ resumePlayMusic()

virtual void resumePlayMusic ( int  id)
pure virtual

恢复播放背景音乐

参数
id音乐 ID

◆ seekMusicToPosInTime()

virtual void seekMusicToPosInTime ( int  id,
int  pts 
)
pure virtual

设置背景音乐的播放进度(单位:毫秒)

注意
请尽量避免过度频繁地调用该接口,因为该接口可能会再次读写音乐文件,耗时稍高。 因此,当用户拖拽音乐的播放进度条时,请在用户完成拖拽操作后再调用本接口。 因为 UI 上的进度条控件往往会以很高的频率反馈用户的拖拽进度,如不做频率限制,会导致较差的用户体验。
参数
id音乐 ID
pts单位: 毫秒

◆ setAllMusicVolume()

virtual void setAllMusicVolume ( int  volume)
pure virtual

设置所有背景音乐的本地音量和远端音量的大小

该接口可以设置所有背景音乐的本地音量和远端音量。

  • 本地音量:即主播本地可以听到的背景音乐的音量大小。
  • 远端音量:即观众端可以听到的背景音乐的音量大小。
参数
volume音量大小,取值范围为0 - 100,默认值:100。
注意
如果将 volume 设置成 100 之后感觉音量还是太小,可以将 volume 最大设置成 150,但超过 100 的 volume 会有爆音的风险,请谨慎操作。

◆ setMusicObserver()

virtual void setMusicObserver ( int  musicId,
ITXMusicPlayObserver observer 
)
pure virtual

设置背景音乐的事件回调接口

请在播放背景音乐之前使用该接口设置播放事件回调,以便感知背景音乐的播放进度。

参数
musicId音乐 ID
observer具体参考 ITXMusicPlayObserver 中定义接口

◆ setMusicPitch()

virtual void setMusicPitch ( int  id,
float  pitch 
)
pure virtual

调整背景音乐的音调高低

参数
id音乐 ID
pitch音调,默认值是0.0f,范围是:[-1 ~ 1] 之间的浮点数;

◆ setMusicPlayoutVolume()

virtual void setMusicPlayoutVolume ( int  id,
int  volume 
)
pure virtual

设置某一首背景音乐的本地音量的大小

该接口可以细粒度地控制每一首背景音乐的本地音量,也就是主播本地可以听到的背景音乐的音量大小。

参数
id音乐 ID
volume音量大小,取值范围为0 - 100,默认值:100。
注意
如果将 volume 设置成 100 之后感觉音量还是太小,可以将 volume 最大设置成 150,但超过 100 的 volume 会有爆音的风险,请谨慎操作。

◆ setMusicPublishVolume()

virtual void setMusicPublishVolume ( int  id,
int  volume 
)
pure virtual

设置某一首背景音乐的远端音量的大小

该接口可以细粒度地控制每一首背景音乐的远端音量,也就是观众端可听到的背景音乐的音量大小。

参数
id音乐 ID
volume音量大小,取值范围为0 - 100;默认值:100
注意
如果将 volume 设置成 100 之后感觉音量还是太小,可以将 volume 最大设置成 150,但超过 100 的 volume 会有爆音的风险,请谨慎操作。

◆ setMusicSpeedRate()

virtual void setMusicSpeedRate ( int  id,
float  speedRate 
)
pure virtual

调整背景音乐的变速效果

参数
id音乐 ID
speedRate速度,默认值是1.0f,范围是:[0.5 ~ 2] 之间的浮点数;

◆ setVoiceCaptureVolume()

virtual void setVoiceCaptureVolume ( int  volume)
pure virtual

设置语音音量

该接口可以设置语音音量的大小,一般配合音乐音量的设置接口 setAllMusicVolume 协同使用,用于调谐语音和音乐在混音前各自的音量占比。

参数
volume音量大小,取值范围为0 - 100,默认值:100。
注意
如果将 volume 设置成 100 之后感觉音量还是太小,可以将 volume 最大设置成 150,但超过 100 的 volume 会有爆音的风险,请谨慎操作。

◆ setVoicePitch()

virtual void setVoicePitch ( double  pitch)
pure virtual

设置语音音调

该接口可以设置语音音调,用于实现变调不变速的目的。

参数
pitch音调,取值范围为-1.0f~1.0f,默认值:0.0f。

◆ setVoiceReverbType()

virtual void setVoiceReverbType ( TXVoiceReverbType  type)
pure virtual

设置人声的混响效果

通过该接口您可以设置人声的混响效果,具体特效请参考枚举定义TXVoiceReverbType

注意
设置的效果在退出房间后会自动失效,如果下次进房还需要对应特效,需要调用此接口再次进行设置。

◆ startPlayMusic()

virtual void startPlayMusic ( AudioMusicParam  musicParam)
pure virtual

开始播放背景音乐

每个音乐都需要您指定具体的 ID,您可以通过该 ID 对音乐的开始、停止、音量等进行设置。

注意
  1. 如果要多次播放同一首背景音乐,请不要每次播放都分配一个新的 ID,我们推荐使用相同的 ID。
  2. 若您希望同时播放多首不同的音乐,请为不同的音乐分配不同的 ID 进行播放。
  3. 如果使用同一个 ID 播放不同音乐,SDK 会先停止播放旧的音乐,再播放新的音乐。
参数
musicParam音乐参数
startBlock播放开始回调
progressBlock播放进度回调
completeBlock播放结束回调

◆ stopPlayMusic()

virtual void stopPlayMusic ( int  id)
pure virtual

停止播放背景音乐

参数
id音乐 ID

宏定义说明

◆ __ITXAUDIOEFFECTMANAGER_H__

#define __ITXAUDIOEFFECTMANAGER_H__