设置wav文件头设置 711 a law 等
来源:互联网 发布:问道手游提示网络错误 编辑:程序博客网 时间:2024/06/06 04:08
记录下G.711 a law的wav文件头应如何设置:
SWaveHeader sHeader;
sprintf(sHeader.rifHeader.szRiffID,"RIFF/0"); // 'R','I','F','F'
sHeader.rifHeader.dwRiffSize = nTotal - 8; //Filelen - 8;
sprintf(sHeader.rifHeader.szRiffFormat,"WAVE/0"); // 'W','A','V','E'
sprintf(sHeader.fmtBlock.szFmtID,"fmt /0"); // 'f','m','t',' '
sHeader.fmtBlock.dwFmtSize = 16; //16 或者18,可变,看后面实际写了多长
sHeader.fmtBlock.wavFormat.wFormatTag = 0x0006; //0x0006; //编码方式 ,0x00001 是PCM, 06是a law
//区分双声道,单声道,wav头中不同,要区分
if (Mono == Type) //双声道
{
trace(1, "开始将录音文件达成wav包/n");
sHeader.fmtBlock.wavFormat.wChannels = 2;//2 //通道,1-单声道;2-双声道
sHeader.fmtBlock.wavFormat.dwSamplesPerSec = 8000; //采样频率
sHeader.fmtBlock.wavFormat.dwAvgBytesPerSec = 16000; //每秒所需字节数
sHeader.fmtBlock.wavFormat.wBlockAlign = 2; //每个采样需要的字节数
sHeader.fmtBlock.wavFormat.wBitsPerSample = 8;//8 //每个采样需要的bit数
}
else if(Stereo == Type)
{
trace(1, "开始将留言文件达成wav包/n");
sHeader.fmtBlock.wavFormat.wChannels = 1;//2 //通道,1-单声道;2-双声道
sHeader.fmtBlock.wavFormat.dwSamplesPerSec = 8000; //采样频率
sHeader.fmtBlock.wavFormat.dwAvgBytesPerSec = 8000; //每秒所需字节数
sHeader.fmtBlock.wavFormat.wBlockAlign = 1; //每个采样需要的字节数
sHeader.fmtBlock.wavFormat.wBitsPerSample = 8;//8 //每个采样需要的bit数
}
当时想查a law对应wFormatTag查了好半天,照着Cool Edit Pro 2.1生成的a law的头也不对(是 07, 按这个放我的声音能听到但音质很差),在rfc里翻了阵也没有查到,反倒是在查别的时候无意中看到如下解释:
ACM 0x0011 Microsoft IMA ADPCM CODEC Microsoft Corporation quartz.dll --> imaadp32.acm
ACM 0x0002 Microsoft ADPCM CODEC Microsoft Corporation quartz.dll --> msadp32.acm
ACM 0x0006 Microsoft CCITT G.711 A-Law and u-Law CODEC Microsoft Corporation quartz.dll -->
msg711.acm
ACM 0x0007 Microsoft CCITT G.711 A-Law and u-Law CODEC Microsoft Corporation quartz.dll -->
msg711.acm
ACM 0x0031 Microsoft GSM 6.10 Audio CODEC Microsoft Corporation quartz.dll --> msgsm32.acm
ACM 0x0022 DSP Group TrueSpeech(TM) Software CODEC DSP GROUP, INC. quartz.dll -->
tssoft32.acm
ACM 0x0042 Microsoft G.723.1 CODEC Microsoft Corporation quartz.dll --> msg723.acm
ACM 0x0160 Windows Media Audio Microsoft Corporation quartz.dll --> msaud32.acm
ACM 0x0161 Windows Media Audio Microsoft Corporation quartz.dll --> msaud32.acm
ACM 0x0130 Sipro Lab Telecom ACELP.net audio codec Sipro Lab Telecom Inc. quartz.dll -->
sl_anet.acm
ACM 0x0402 Indeo® audio software Intel Corporation quartz.dll --> iac25_32.ax
ACM 0x0055 Fraunhofer IIS MPEG Layer-3 Codec (advanced) Fraunhofer Institut Integrierte
Schaltungen IIS quartz.dll --> l3codeca.acm
DMO 0x0160 WMAudio Decoder DMO Microsoft Corporation qasf.dll --> wmadmod.dll
DMO 0x0162 WMAPro over S/PDIF DMO Microsoft Corporation qasf.dll --> wmadmod.dll
DMO 0x000a WMSpeech Decoder DMO Microsoft Corporation qasf.dll --> wmspdmod.dll
DSH 0x0001 ATI MPEG Audio Encoder ATI Technologies, Inc. atimpenc.dll
DSH 0x0050 MPEG Audio Decoder quartz.dll
DSH 0x0055 MPEG Layer-3 Decoder Fraunhofer Institut Integrierte Schaltungen IIS l3codecx.ax
DSH 0x0161 Windows Media Audio Decoder Microsoft Corporation msadds32.ax
DSH 0x0130 ACELP.net Sipro Lab Audio Decoder Sipro Lab Telecom Inc. acelpdec.ax
DSH 0x0050 CyberLink Audio Decoder (ATI) CyberLink Corp. claud.ax
DSH 0x0050 Nero Digital Audio Decoder Nero AG NeAudio.ax
- 设置wav文件头设置 711 a law 等
- 在windows 下简单播放G711 a law的wav文件
- VC头文件设置
- 如何设置头文件
- WAV文件头信息
- wav 文件头解析
- 读取wav文件头
- .wav文件头分析
- WAV文件头信息
- wav 文件头解析
- pcm与a-law音频头互换
- wav文件的文件头
- wav文件的文件头
- source insight设置头文件
- source insight设置头文件
- servlet文件下载头设置
- BMP文件头设置要点
- 设置预编译头文件
- 动态规划随记1
- ASP和IIS各一点
- 发现IE8的一个javascript重大问题
- c# datagridview 单元格处理,功能使用大全
- 实现iframe自适应高度,原来很简单!
- 设置wav文件头设置 711 a law 等
- 非静态的字段,方法或属性要求对象引用如何解决?
- 在windows 下简单播放G711 a law的wav文件
- cisco(思科) 问题库
- 文件的内存映射
- Windows Mobile 5.0 开发包集-------转自http://hi.baidu.com/aidos/blog/item/ae7ab0fb639449264e4aea6c.html
- 常用的控制台命令
- javascript 取得当前用户的组和权限(下)
- flex3 中 Legend fontSize不起作用的解决办法