TMAudioEffect Class Referenceabstract

自定义声音效果处理的接口, 如不定制音效,可以忽略. More...

#include <TMAudioEffect.h>

Public Member Functions

virtual int init (TMSampleRate sampleRate, int inChannel, int outChannel, TMAudioFXType effect)=0
 
virtual int setEnable (bool enable)=0
 
virtual int process (char *inbuf, size_t insz, char *outbf, size_t &outsz)=0
 
virtual int changeEffect (TMAudioFXType effect)=0
 
virtual int changeEffectParam (TMAudioFXParam param, int val)=0
 
virtual int getEffectParam (TMAudioFXParam param, int &rval)=0
 
virtual int getRangeOfParam (TMAudioFXParam param, int &min, int &max)=0
 

Protected Attributes

TMSampleRate sampleRate_
 
int inChannel_
 
int outChannel_
 
TMAudioFXType effect_
 

Detailed Description

自定义声音效果处理的接口, 如不定制音效,可以忽略.

Member Function Documentation

virtual int TMAudioEffect::changeEffect ( TMAudioFXType  effect)
pure virtual

切换新的效果, 这时候的效果 使用changeEffetParam

virtual int TMAudioEffect::changeEffectParam ( TMAudioFXParam  param,
int  val 
)
pure virtual

调节效果param的参数的值到val

virtual int TMAudioEffect::getEffectParam ( TMAudioFXParam  param,
int &  rval 
)
pure virtual

得到参数现在的值, return 0 means success, -1 means error.

virtual int TMAudioEffect::getRangeOfParam ( TMAudioFXParam  param,
int &  min,
int &  max 
)
pure virtual

得到参数的最大最小值范围

virtual int TMAudioEffect::init ( TMSampleRate  sampleRate,
int  inChannel,
int  outChannel,
TMAudioFXType  effect 
)
pure virtual

初始化AudioEffect的接口,子类需要在这个函数里面实现一些相应的初始化工作,

Parameters
sampleRate采样率
inChannel数据谁人的声道
outChannel数据输出的声道,通常是和inChannel相等
effect初始音效
virtual int TMAudioEffect::process ( char *  inbuf,
size_t  insz,
char *  outbf,
size_t &  outsz 
)
pure virtual

处理buffer的接口, 子类应该在这个接口中声音进行处理。

需要注意的是, inbuf, 和 outfb 有可能是同一个指针。 处理函数里面需要做这样的假设。

Parameters
inbuf输入数据的buffer指针
insz输入buffer的大小
outbf输出buffer的大小, buffer由调用者分配
outsz实际填充的buffer size
virtual int TMAudioEffect::setEnable ( bool  enable)
pure virtual

打开和关闭该音效处理接口, SDK会在需要的时候打开音效活着关闭音效

Parameters
enable打开/关闭

The documentation for this class was generated from the following file:
  • /Users/jiejing/Developer/project/kalaok/libDirectAudio/public-include/TMAudioEffect.h