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

详细描述

Tencent Cloud Audio Effect Management Module

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


结构体说明

◆ com::tencent::liteav::audio::TXAudioEffectManager::TXVoiceReverbType

interface com::tencent::liteav::audio::TXAudioEffectManager::TXVoiceReverbType

Public 成员函数

 TXLiveVoiceReverbType_0 (0)
 
 TXLiveVoiceReverbType_1 (1)
 
 TXLiveVoiceReverbType_2 (2)
 
 TXLiveVoiceReverbType_3 (3)
 
 TXLiveVoiceReverbType_4 (4)
 
 TXLiveVoiceReverbType_5 (5)
 
 TXLiveVoiceReverbType_6 (6)
 
 TXLiveVoiceReverbType_7 (7)
 
 TXLiveVoiceReverbType_8 (8)
 
 TXLiveVoiceReverbType_9 (9)
 
 TXLiveVoiceReverbType_10 (10)
 
 TXVoiceReverbType (int value)
 
int getNativeValue ()
 

构造及析构函数说明

◆ TXVoiceReverbType()

TXVoiceReverbType ( int  value)
inline

成员函数说明

◆ TXLiveVoiceReverbType_0()

TXLiveVoiceReverbType_0 ( )

◆ TXLiveVoiceReverbType_1()

TXLiveVoiceReverbType_1 ( )

< disable

◆ TXLiveVoiceReverbType_2()

TXLiveVoiceReverbType_2 ( )

< KTV

◆ TXLiveVoiceReverbType_3()

TXLiveVoiceReverbType_3 ( )

< small room

◆ TXLiveVoiceReverbType_4()

TXLiveVoiceReverbType_4 ( )

< great hall

◆ TXLiveVoiceReverbType_5()

TXLiveVoiceReverbType_5 ( )

< deep voice

◆ TXLiveVoiceReverbType_6()

TXLiveVoiceReverbType_6 ( )

< loud voice

◆ TXLiveVoiceReverbType_7()

TXLiveVoiceReverbType_7 ( )

< metallic sound

◆ TXLiveVoiceReverbType_8()

TXLiveVoiceReverbType_8 ( )

< magnetic sound

◆ TXLiveVoiceReverbType_9()

TXLiveVoiceReverbType_9 ( )

< ethereal

◆ TXLiveVoiceReverbType_10()

TXLiveVoiceReverbType_10 ( 10  )

< studio

melodious

◆ getNativeValue()

int getNativeValue ( )
inline

◆ com::tencent::liteav::audio::TXAudioEffectManager::TXVoiceChangerType

interface com::tencent::liteav::audio::TXAudioEffectManager::TXVoiceChangerType

Public 成员函数

 TXLiveVoiceChangerType_0 (0)
 
 TXLiveVoiceChangerType_1 (1)
 
 TXLiveVoiceChangerType_2 (2)
 
 TXLiveVoiceChangerType_3 (3)
 
 TXLiveVoiceChangerType_4 (4)
 
 TXLiveVoiceChangerType_5 (5)
 
 TXLiveVoiceChangerType_6 (6)
 
 TXLiveVoiceChangerType_7 (7)
 
 TXLiveVoiceChangerType_8 (8)
 
 TXLiveVoiceChangerType_9 (9)
 
 TXLiveVoiceChangerType_10 (10)
 
 TXLiveVoiceChangerType_11 (11)
 
 TXVoiceChangerType (int value)
 
int getNativeValue ()
 

构造及析构函数说明

◆ TXVoiceChangerType()

TXVoiceChangerType ( int  value)
inline

成员函数说明

◆ TXLiveVoiceChangerType_0()

TXLiveVoiceChangerType_0 ( )

◆ TXLiveVoiceChangerType_1()

TXLiveVoiceChangerType_1 ( )

< disable

◆ TXLiveVoiceChangerType_2()

TXLiveVoiceChangerType_2 ( )

< naughty kid

◆ TXLiveVoiceChangerType_3()

TXLiveVoiceChangerType_3 ( )

< Lolita

◆ TXLiveVoiceChangerType_4()

TXLiveVoiceChangerType_4 ( )

< uncle

◆ TXLiveVoiceChangerType_5()

TXLiveVoiceChangerType_5 ( )

< heavy metal

◆ TXLiveVoiceChangerType_6()

TXLiveVoiceChangerType_6 ( )

< catch cold

◆ TXLiveVoiceChangerType_7()

TXLiveVoiceChangerType_7 ( )

< foreign accent

◆ TXLiveVoiceChangerType_8()

TXLiveVoiceChangerType_8 ( )

< caged animal trapped beast

◆ TXLiveVoiceChangerType_9()

TXLiveVoiceChangerType_9 ( )

< indoorsman

◆ TXLiveVoiceChangerType_10()

TXLiveVoiceChangerType_10 ( 10  )

< strong current

◆ TXLiveVoiceChangerType_11()

TXLiveVoiceChangerType_11 ( 11  )

< heavy machinery

intangible

◆ getNativeValue()

int getNativeValue ( )
inline

◆ com::tencent::liteav::audio::TXAudioEffectManager::TXMusicPlayObserver

interface com::tencent::liteav::audio::TXAudioEffectManager::TXMusicPlayObserver

Public 成员函数

void onStart (int id, int errCode)
 
void onPlayProgress (int id, long curPtsMS, long durationMS)
 
void onComplete (int id, int errCode)
 

成员函数说明

◆ onStart()

void onStart ( int  id,
int  errCode 
)

背景音乐开始播放

◆ onPlayProgress()

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

背景音乐的播放进度

◆ onComplete()

void onComplete ( int  id,
int  errCode 
)

背景音乐已经播放完毕

◆ com::tencent::liteav::audio::TXAudioEffectManager::AudioMusicParam

class com::tencent::liteav::audio::TXAudioEffectManager::AudioMusicParam

Public 成员函数

 AudioMusicParam (int id, String path)
 
String toString ()
 

成员变量

int id
 
String path
 
int loopCount
 
boolean publish
 
boolean isShortFile
 
long startTimeMS
 
long endTimeMS
 

构造及析构函数说明

◆ AudioMusicParam()

AudioMusicParam ( int  id,
String  path 
)
inline

成员函数说明

◆ toString()

String toString ( )
inline

结构体成员变量说明

◆ id

int id

【字段含义】音乐 ID

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

◆ path

String path

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

◆ loopCount

int loopCount

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

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

◆ publish

boolean publish

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

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

◆ isShortFile

boolean isShortFile

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

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

◆ startTimeMS

long startTimeMS

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

◆ endTimeMS

long endTimeMS

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

◆ com::tencent::liteav::audio::TXAudioEffectManager

interface com::tencent::liteav::audio::TXAudioEffectManager

人声相关的特效接口

void enableVoiceEarMonitor (boolean enable)
 
void setVoiceEarMonitorVolume (int volume)
 
void setVoiceReverbType (TXVoiceReverbType type)
 
void setVoiceChangerType (TXVoiceChangerType type)
 
void setVoiceCaptureVolume (int volume)
 

背景音乐的相关接口

void setMusicObserver (int id, TXMusicPlayObserver observer)
 
boolean startPlayMusic (final AudioMusicParam musicParam)
 
void stopPlayMusic (int id)
 
void pausePlayMusic (int id)
 
void resumePlayMusic (int id)
 
void setAllMusicVolume (int volume)
 
void setMusicPublishVolume (int id, int volume)
 
void setMusicPlayoutVolume (int id, int volume)
 
void setMusicPitch (int id, float pitch)
 
void setMusicSpeedRate (int id, float speedRate)
 
long getMusicCurrentPosInMS (int id)
 
long getMusicDurationInMS (String path)
 
void seekMusicToPosInMS (int id, int pts)
 

成员函数说明

◆ enableVoiceEarMonitor()

void enableVoiceEarMonitor ( boolean  enable)

开启耳返

主播开启耳返后,可以在耳机里听到麦克风采集到的自己发出的声音,该特效适用于主播唱歌的应用场景中。

需要您注意的是,由于蓝牙耳机的硬件延迟非常高,所以在主播佩戴蓝牙耳机时无法开启此特效,请尽量在用户界面上提示主播佩戴有线耳机。 同时也需要注意,并非所有的手机开启此特效后都能达到优秀的耳返效果,我们已经对部分耳返效果不佳的手机屏蔽了该特效。

注意
仅在主播佩戴耳机时才能开启此特效,同时请您提示主播佩戴有线耳机。
参数
enabletrue:开启;false:关闭。

◆ setVoiceEarMonitorVolume()

void setVoiceEarMonitorVolume ( int  volume)

设置耳返音量

通过该接口您可以设置耳返特效中声音的音量大小。

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

◆ setVoiceReverbType()

void setVoiceReverbType ( TXVoiceReverbType  type)

设置人声的混响效果

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

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

◆ setVoiceChangerType()

void setVoiceChangerType ( TXVoiceChangerType  type)

设置人声的变声特效

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

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

◆ setVoiceCaptureVolume()

void setVoiceCaptureVolume ( int  volume)

设置语音音量

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

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

◆ setMusicObserver()

void setMusicObserver ( int  id,
TXMusicPlayObserver  observer 
)

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

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

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

◆ startPlayMusic()

boolean startPlayMusic ( final AudioMusicParam  musicParam)

开始播放背景音乐

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

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

◆ stopPlayMusic()

void stopPlayMusic ( int  id)

停止播放背景音乐

参数
id音乐 ID

◆ pausePlayMusic()

void pausePlayMusic ( int  id)

暂停播放背景音乐

参数
id音乐 ID

◆ resumePlayMusic()

void resumePlayMusic ( int  id)

恢复播放背景音乐

参数
id音乐 ID

◆ setAllMusicVolume()

void setAllMusicVolume ( int  volume)

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

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

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

◆ setMusicPublishVolume()

void setMusicPublishVolume ( int  id,
int  volume 
)

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

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

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

◆ setMusicPlayoutVolume()

void setMusicPlayoutVolume ( int  id,
int  volume 
)

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

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

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

◆ setMusicPitch()

void setMusicPitch ( int  id,
float  pitch 
)

调整背景音乐的音调高低

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

◆ setMusicSpeedRate()

void setMusicSpeedRate ( int  id,
float  speedRate 
)

调整背景音乐的变速效果

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

◆ getMusicCurrentPosInMS()

long getMusicCurrentPosInMS ( int  id)

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

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

◆ getMusicDurationInMS()

long getMusicDurationInMS ( String  path)

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

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

◆ seekMusicToPosInMS()

void seekMusicToPosInMS ( int  id,
int  pts 
)

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

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