⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msaudspapi.h

📁 瑞星微公司RK27XX系列芯片的SDK开发包
💻 H
字号:
/******************************************************************************
*
*  Copyright (C),2007, Fuzhou Rockchip Co.,Ltd.
*
*  File name :     msaudspapi.h
*  Description:    微软音效API函数
*  Remark:
*
*  History:
*           <author>      <time>     <version>       <desc>
*           Huweiguo     07/10/07      1.0
*
*******************************************************************************/

#ifndef __MS_AUDSP_API_H__
#define __MS_AUDSP_API_H__


typedef struct
{
    //char* name;
    unsigned short uMin;
    unsigned short uVal;
    unsigned short uMax;
    int fSet;
    //const char* descr;
} ArgTbl;

// 全局变量
extern ArgTbl g_argTable[];
extern ArgTbl g_argTableNew[];
extern void *pAuDSP;

// API 函数

int MsAudspInit(unsigned long lSampleRate);
void MsAudspEnd(void);
void singal_effect_change_and_refresh_argtbl(void* pAuDSP, void *pArgTbl, void *pArgTblNew); // 更新微软音效参数
void MsAudspProssing(short *pData, long PcmLength);

/* 微软音效参数更新API,也就是根据UI选择来设置 */
void ms_set_leq_enabled(int fState);
void ms_set_leq_attack(int uAttack);
void ms_set_leq_release(int uRelease);
void ms_set_leq_maxgain(int uMaxGain);
void ms_set_leq_target(int uTarget);
void ms_set_bb_enabled(int fState);
void ms_set_bb_level(int level);
void ms_set_bb_freq(int uFreq);
void ms_set_hv_enabled(int fState);
void ms_set_hv_spatialize(int u);
void ms_set_hv_width(int u);

#if 0
// LEQ 参数调节范围
#define LEQ_RELEASE_MIN 0
#define LEQ_RELEASE_MAX 15
#define LEQ_RELEASE_DEF 9
#define LEQ_ATTACK_MIN 0
#define LEQ_ATTACK_DEF 1
#define LEQ_ATTACK_MAX 10
#define LEQ_TARGET_MIN 1
#define LEQ_TARGET_DEF 30000
#define LEQ_TARGET_MAX 65535
#define LEQ_MAXGAIN_MIN 1
#define LEQ_MAXGAIN_DEF 10
#define LEQ_MAXGAIN_MAX 63

// BB 参数调节范围
#define BB_LEVEL_MIN 0
#define BB_LEVEL_DEF 1
#define BB_LEVEL_MAX 5
#define BB_FREQ_MIN 60
#define BB_FREQ_DEF 80
#define BB_FREQ_MAX 250

// HV2 参数调节范围
#define HEADPHONE2_DIFF_MIN 0
#define HEADPHONE2_DIFF_DEF 4
#define HEADPHONE2_DIFF_MAX 10
#define HEADPHONE2_WIDTH_MIN 0
#define HEADPHONE2_WIDTH_DEF 5
#define HEADPHONE2_WIDTH_MAX 8

ArgTbl g_argTable[] =
{
    // name    min  def max
    { /*"leq",          */  0 ,                   0,                    1 ,                   0/*, " use loudness equalization"     */  },
    { /*"bb",           */  0 ,                   0,                    1 ,                   0/*, " use bass boost"                */  },
    { /*"hv",           */  0 ,                   0,                    1 ,                   0/*, " use headphone virtualization"  */  },
    { /*"leqrelease",   */  LEQ_RELEASE_MIN,      LEQ_RELEASE_DEF,      LEQ_RELEASE_MAX,      0/*, " leq release time"              */  },
    { /*"leqmaxgain",   */  LEQ_MAXGAIN_MIN,      LEQ_MAXGAIN_DEF,      LEQ_MAXGAIN_MAX,      0/*, " leq max gain"                  */  },
    { /*"bbfreq"   ,    */  BB_FREQ_MIN,          BB_FREQ_DEF,          BB_FREQ_MAX,          0/*, " bass boost frequency"          */  },
    { /*"bblevel"  ,    */  BB_LEVEL_MIN,         BB_LEVEL_DEF,         BB_LEVEL_MAX ,        0/*, " bass boost amount"             */  },
    { /*"leqattack" ,   */  LEQ_ATTACK_MIN,       LEQ_ATTACK_DEF,       LEQ_ATTACK_MAX,       0/*, " leq attack time"               */  },
    { /*"hvspatialize" ,*/  HEADPHONE2_DIFF_MIN,  HEADPHONE2_DIFF_DEF,  HEADPHONE2_DIFF_MAX,  0/*, "spatialization level"           */  },
    { /*"hvwidth"  ,    */  HEADPHONE2_WIDTH_MIN, HEADPHONE2_WIDTH_DEF, HEADPHONE2_WIDTH_MAX, 0/*, "stereo width (L-R channel gain)"*/  },
    { /*"leqtarget" ,   */  LEQ_TARGET_MIN,       LEQ_TARGET_DEF,       LEQ_TARGET_MAX,       0/*, "leq target level"               */  },
    { /*"blocksize",    */  384,                  512,               MAX_BLOCK_SIZE,          0/*, "block size"                     */  },
    { /*"switchpos",    */  0,                    0,                  65535,                  0/*, "dynamic switch position"        */  },
    { /*"switcharg",    */  0,                    0,                    10,                   0/*, "index of argument to switch"    */  },
    { /*"switchval",    */  0,                    0,                  65535,                  0/*, "new value after the switch"     */  },
};
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -