设为首页 加入收藏 |
|
当前位置: |
TOP | |||||||||||||
VC下调用ACM音频编程接口压缩Wave音频(二)
根据指定的格式要找到其所对应的ACM驱动器号可以用枚举所有音频CODECs的ACM API函数acmDriverEnum来实现,在acmDriverEnum() 的参数中指定了在前面描述过的回调函数find_driver_enum,可以 进 一 步查询每个CODEC的信息,最终可以获取到ACM驱动器号的句柄。实现此功能的回调函数名为find_driver,本文后面将会用到。 在把原始Wave音频数据转换到中间PCM格式数据之前,需要做些前期准备工作,填充一些相关的结构信息,具体有:WAVEFORMATEX结构描述源格式、中间PCM格式、以及最终的压缩格式等。下面先填充一个用来描述源数据格式的WAVEFORMATEX结构:
然后通过前面提到的回调函数find_driver来获取由wFormatTag指定的中间数据格式所对应的驱动程序的ACM驱动器号,在此设定的是由WAVE_FORMAT_DSPGROUP_TRUESPEECH指定的有Windows 98系统自带的TrueSpeech CODEC:
选定了驱动程序,现在要为最终驱动程序将产生的压缩数据格式创建一个WAVEFORMATEX结构,并为驱动程序用于输入的中间PCM格式产生一个WAVEFORMATEX结构:
|
|||||||||||||
最新文章 |
热门文章 |
Hot 文章 |
Python | ||||||||||
|
||||||||||
C 语言 | ||||||||||
|
||||||||||
C++基础 | ||||||||||
|
||||||||||
大数据基础 | ||||||||||
|
||||||||||
linux编程基础 | ||||||||||
|
||||||||||
C/C++面试题目 | ||||||||||
|
||||||||||