C#利用winmm.dll中的mciSendString方法录音

mciSendString 是用来播放多媒体文件的 API 指令,可以播放 MPEG,AVI,WAV,MP3, 等等

该函数有四个参数:
第一个参数:要发送的命令字符串。字符串结构是:[命令][设备别名][命令参数].
第二个参数:返回信息的缓冲区,为一指定了大小的字符串变量.
第三个参数:缓冲区的大小,就是字符变量的长度.
第四个参数:回调方式,一般设为零
返回值:函数执行成功返回零,否则返回错误代码

详细内容可以参考(http://www.cnblogs.com/zrx401558287/archive/2008/11/28/1343160.html)

 

首先在代码中引入这个API函数

 

ContractedBlock.gif ExpandedBlockStart.gif Code
        [DllImport("winmm.dll", EntryPoint = "mciSendString", CharSet = CharSet.Auto)]
        
public static extern int mciSendString(
         
string lpstrCommand,
         
string lpstrReturnString,
         
int uReturnLength,
         
int hwndCallback
        );

 

然后启动录音

 

ContractedBlock.gif ExpandedBlockStart.gif Code
                mciSendString("close movie"""00);
                mciSendString(
"open new type WAVEAudio alias movie"""00);
                mciSendString(
"record movie"""00);

 

录音完成后关闭并保存到一个文件,比如c:\1.wav

 

ContractedBlock.gif ExpandedBlockStart.gif Code
                mciSendString("stop movie"""00);
                mciSendString(
"save movie j:\\1.wav"""00);
                mciSendString(
"close movie"""00);

 

ok,很简单

转载于:https://www.cnblogs.com/zrx401558287/archive/2008/11/28/1343159.html

你可能感兴趣的:(C#利用winmm.dll中的mciSendString方法录音)