zoukankan      html  css  js  c++  java
  • 参数平衡特技(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);
    }
     
     
     
  • 相关阅读:
    Rraspberry Pi 4B python3 安装opencv
    如何用arduion制作智能 垃圾桶
    MySQL(二)表结构的管理
    MySQL(一)基础操作
    vc++绘图基础
    网站签~
    (转)Oracle 知识日常积累
    利用反射判断bean属性不为空(null和空串)
    (转)Oracle 单字段拆分成多行
    svn 解决树冲突
  • 原文地址:https://www.cnblogs.com/qq78292959/p/2077037.html
Copyright © 2011-2022 走看看