首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

为什么DIRECT SOUND和WAVEIN OUT 的录音那么难搞,如何录

2012-02-26 
为什么DIRECT SOUND和WAVEIN OUT 的录音那么难搞,怎么录啊 - C++ Builder / Windows SDK/API录个音就要一

为什么DIRECT SOUND和WAVEIN OUT 的录音那么难搞,怎么录啊 - C++ Builder / Windows SDK/API
录个音就要一堆代码,MCI又只能录8位的11025HZ的,声音质量很恶心

WAVE录进缓存了,怎么写入WAV文件?

这些是我的初始化部分



 
PBYTE pBuffer[2]; // 用于发送和录音的两块缓冲区
PWAVEHDR pWaveHdr[2]; // 用于录音的PWAVEHDR结构数组
WAVEFORMATEX wavefo ; // 用于打开音频设备的WAVEFORMATEX结构
HWAVEIN hWave ; // 录音设备句柄
 int nOut=0; //???


/*****************************************************/

DIRECTSOUND的就没戏了.很麻烦

[解决办法]
他人代码。
这是一个WAV文件变MP3文件的代码,不知是否需要。需要lame_enc.dll可网上下载。
以下2行影响MP3的大小和音质,小的MP3可使用了.
代码里需要有
FreeLibrary(hDLL);
是个小问题。

C/C++ code
    beConfig.format.LHV1.dwBitrate            = 16; //128;                    // MINIMUM BIT RATE    beConfig.format.LHV1.dwMaxBitrate        = 16;                    // MAXIMUM BIT RATE
[解决办法]
建议楼主用Directshow,非常简单,只要你会COM调用就成了

热点排行