参数平衡特技(ParamEQ)

参数平衡特技的参数通过下面的结构来调整:
typedef struct _DSFXParamEq 
{
 FLOAT fCenter;//中心的频率 ,单位是hz,取值范围是 80.0f hz~~16000.0f ,缺省值 是 8000hz
 FLOAT fBandwidth;//音的带宽,以半音为单位,取值范围是 1.0f~~36.0f,缺省值 是12
 FLOAT fGain;//音频的音量,以db为单位,取值范围是 -15.0db ~~15.0f db,缺省值是0db
} DSFXParamEq, *LPDSFXParamEq;
 
我们在程序中可以定义这个结构的对象,如下:
LPDIRECTSOUNDFXPARAMEQ8 g_pParamEq = NULL;
DSFXParamEq g_paramsParamEq; 
通过拖动滑动条,我们可以用下面的代码调整参数:
DSEFFECTDESC effectdesc;
ZeroMemory( &effectdesc, sizeof( DSEFFECTDESC ) );
effectdesc.dwSize = sizeof(DSEFFECTDESC);
effectdesc.dwFlags = 0;
effectdesc.guidDSFXClass = GUID_DSFX_STANDARD_PARAMEQ;
DWORD dwResult;
if(g_pDSBuffer8)
{
 g_pDSBuffer8->SetFX(1,&effectdesc,&dwResult);
 if( FAILED( hr = g_pDSBuffer8->GetObjectInPath( GUID_DSFX_STANDARD_PARAMEQ, 0, IID_IDirectSoundFXParamEq8,(LPVOID*) &g_pParamEq ) ) )
  return ;
 g_pParamEq ->SetAllParameters (&g_paramsParamEq);
}
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值