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

方法:

  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. private static void mciSendString(String cmd)
  14. {
  15. mciSendString(cmd, "", 0, 0);
  16. }
  17. private static void StartRecord()
  18. {
  19. mciSendString("close movie");
  20. mciSendString("open new type WAVEAudio alias movie");
  21. mciSendString("record movie");
  22. }
  23. private static void StopRecord(string filename)
  24. {
  25. mciSendString("stop movie");
  26. mciSendString("save movie " + filename);
  27. mciSendString("close movie");
  28. }

用法举例:

  1. protected void btStart_Click(object sender, EventArgs e)
  2. {
  3. //开始录音
  4. StartRecord();
  5. }
  6. protected void btStop_Click(object sender, EventArgs e)
  7. {
  8. //停止录音
  9. StopRecord(@"C:\test.wav");
  10. }
  11. protected void btPlay_Click(object sender, EventArgs e)
  12. {
  13. //播放录音   也可以适用window系统带的TTS(Text To Speech)播放录音
  14. SoundPlayer sp = new SoundPlayer(@"c:\test.wav");
  15. sp.PlaySync();
  16. }
05-11 02:12