.net简单录音和播放音频文件代码

本代码特点:不用DirectX ,对于C/S 、B/S都适用。

方法:

 

[csharp]  view plaincopy
  1. //mciSendStrin.是用来播放多媒体文件的API指令,可以播放MPEG,AVI,WAV,MP3,等等,下面介绍一下它的使用方法:  
  2. //第一个参数:要发送的命令字符串。字符串结构是:[命令][设备别名][命令参数].  
  3. //第二个参数:返回信息的缓冲区,为一指定了大小的字符串变量.  
  4. //第三个参数:缓冲区的大小,就是字符变量的长度.  
  5. //第四个参数:回调方式,一般设为零  
  6. //返回值:函数执行成功返回零,否则返回错误代码  
  7. [DllImport("winmm.dll", EntryPoint = "mciSendString", CharSet = CharSet.Auto)]  
  8. private static extern int mciSendString(  
  9.     string lpstrCommand,  
  10.     string lpstrReturnString,  
  11.     int uReturnLength,  
  12.     int hwndCallback);  
  13.   
  14. private static void mciSendString(String cmd)  
  15. {  
  16.     mciSendString(cmd, "", 0, 0);  
  17. }  
  18.   
  19. private static void StartRecord()  
  20. {  
  21.     mciSendString("close movie");  
  22.     mciSendString("open new type WAVEAudio alias movie");  
  23.     mciSendString("record movie");  
  24. }  
  25.   
  26. private static void StopRecord(string filename)  
  27. {  
  28.     mciSendString("stop movie");  
  29.     mciSendString("save movie " + filename);  
  30.     mciSendString("close movie");  
  31. }  

 

用法举例:

 

[csharp]  view plaincopy
  1.         protected void btStart_Click(object sender, EventArgs e)  
  2.         {     
  3.             //开始录音  
  4.             StartRecord();  
  5.         }  
  6.   
  7.         protected void btStop_Click(object sender, EventArgs e)  
  8.         {  
  9.             //停止录音  
  10.             StopRecord(@"C:\test.wav");  
  11.         }  
  12.   
  13.         protected void btPlay_Click(object sender, EventArgs e)  
  14.         {  
  15.             //播放录音   也可以适用window系统带的TTS(Text To Speech)播放录音  
  16.             SoundPlayer sp = new SoundPlayer(@"c:\test.wav");  
  17.             sp.PlaySync();  
  18.         }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值