📄 msaudspapi.c
字号:
/******************************************************************************
*
* Copyright (C),2007, Fuzhou Rockchip Co.,Ltd.
*
* File name : msaudspapi.c
* Description: 微软音效API函数
* Remark:
*
* History:
* <author> <time> <version> <desc>
* Huweiguo 07/10/07 1.0
*
*******************************************************************************/
#include "msaudspapi.h"
extern void audsp_process(void* pHandle, short pBuffer[], short length);
/**************************************************************************
* 函数描述: 微软音效处理函数,因为算法只能处理特定长度的数据,所以可能需要多次处理
* 入口参数: [pData] -- PCM 数据Buffer, 数据以LRLRLR... 的形式存放
* [PcmLength] -- PCM 数据长度
* 出口参数: 无
* 返回值:
* 注释:
***************************************************************************/
void MsAudspProssing(short *pData, long PcmLength)
{
int i;
// for MP3
if (PcmLength == 384)
{
audsp_process(pAuDSP, pData, 384);
}
else if (PcmLength == 576)
{
audsp_process(pAuDSP, pData, 576);
}
else if (PcmLength == 1152)
{
for (i = 0; i < 2; i++)
{
audsp_process(pAuDSP, pData + i*2*576, 576);
}
}
// for WMA
else if (PcmLength == 512)
{
audsp_process(pAuDSP, pData, 512);
}
else if (PcmLength == 1024)
{
for (i = 0; i < 2; i++)
{
audsp_process(pAuDSP, pData + i*2*512, 512);
}
}
else if (PcmLength == 2048)
{
for (i = 0; i < 4; i++)
{
audsp_process(pAuDSP, pData + i*2*512, 512);
}
}
else if (PcmLength == 256)
{
audsp_process(pAuDSP, pData, 256);
}
// for FLAC
else if (PcmLength == 2304)
{
for (i = 0; i < 4; i++)
{
audsp_process(pAuDSP, pData + i*2*576, 576);
}
}
else if (PcmLength == 4608)
{
for (i = 0; i < 8; i++)
{
audsp_process(pAuDSP, pData + i*2*576, 576);
}
}
else
{
printf("当前PlayFx 版本并未对帧长为: %d 作处理!", PcmLength);
//还需要对其它帧长作处理
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -