资源简介
C#利用DirectSound可以实现把PCM音频流保存成WAV文件,进行播放。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.IO.Ports;
using System.Threading;
using wave;
using System.Media;
namespace 语音侦听
{
public partial class Form1 : Form
{
SerialPort sp = null;
bool blWrite = false;
FileStream mWaveFile;
BinaryWriter mWriter;
int mSampleCount = 0;
StreamWriter sw;
FileStream fs;
public Thread threadMonitorSocketsArry;
string PP = ““;
public delegate void dlSetButton(Button btstring str);
public Form1()
{
InitializeComponent();
}
private WavSC recorder = null;
string strPath = @“f:/声音/“;
private void Form1_Load(object sender EventArgs e)
{
}
private void button1_Click(object sender EventArgs e)
{
comboBox1.Items.Clear();//combobox显示的数据
string[] str = SerialPort.GetPortNames();
for (int i = 0; i < str.Length; i++)
{
string cktt = str[i];
comboBox1.Items.Add(cktt);
}
}
//private void UpdateButton(Button btTemp string str)//调用委托
//{
// if (btTemp.InvokeRequired)
// {
// dlSetButton dlobject = new dlSetButton(UpdateButton);
// btTemp.Invoke(dlobject btTemp str);
// }
// else
// {
// btTemp.Text = str;//显示内容
// btTemp.Enabled = true;//开始使用按钮
// }
//}
private void button2_Click(object sender EventArgs e)
{
sp = new SerialPort();
sp.PortName = comboBox1.Text.Trim();
sp.BaudRate = 9600;
sp.DataBits = 8;
sp.StopBits = StopBits.One;
sp.Parity = Parity.None;
sp.Open();
//发送频率信息
string strFreq = textBox1.Text.Trim();
string strTemp = “AT+DMOSETGROUP=1“ + strFreq + ““ + strFreq + ““ + “0501“ + “\r\n“;
sp.Write(strTemp);
sp.Close();
}
private string ChangeToWave1(int i)
{
double dl = Convert.ToDouble(i - 128);
double dltEMP = dl / 256;
double dlTemp = (dltEMP - 1) * 256 + 1;
string str = Convert.ToInt32(dlTemp).ToString(“X4“);
string strWrite = str.Substring(str.Length - 4 4);
return strWrite;
}
private void button3_Click(object sender EventArgs e)
{
if (button3.Text==“开始录音“)
{
button3.Text = “停止录音“;
//button3.Enabled = false;//停止使用按钮
fs = new FileStream(“f://123.txt“
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-12-06 15:28 语音侦听\
目录 0 2014-12-06 15:28 语音侦听\语音侦听\
文件 186 2014-10-22 10:52 语音侦听\语音侦听\App.config
文件 7176 2014-11-19 14:32 语音侦听\语音侦听\Form1.Designer.cs
文件 5254 2014-11-19 14:31 语音侦听\语音侦听\Form1.cs
文件 5817 2014-11-19 14:31 语音侦听\语音侦听\Form1.resx
文件 3398 2014-11-17 11:13 语音侦听\语音侦听\Form2.Designer.cs
文件 2118 2014-11-17 11:13 语音侦听\语音侦听\Form2.cs
文件 5817 2014-11-17 11:13 语音侦听\语音侦听\Form2.resx
文件 514 2014-11-10 15:03 语音侦听\语音侦听\Program.cs
目录 0 2014-12-06 15:28 语音侦听\语音侦听\Properties\
文件 1356 2014-10-22 09:56 语音侦听\语音侦听\Properties\AssemblyInfo.cs
文件 2876 2014-10-22 09:56 语音侦听\语音侦听\Properties\Resources.Designer.cs
文件 5612 2014-10-22 09:56 语音侦听\语音侦听\Properties\Resources.resx
文件 1099 2014-10-22 09:56 语音侦听\语音侦听\Properties\Settings.Designer.cs
文件 249 2014-10-22 09:56 语音侦听\语音侦听\Properties\Settings.settings
文件 12963 2014-11-19 11:49 语音侦听\语音侦听\WavSC.cs
目录 0 2014-12-06 15:28 语音侦听\语音侦听\bin\
目录 0 2014-12-06 15:28 语音侦听\语音侦听\bin\Debug\
文件 35328 2014-11-10 14:24 语音侦听\语音侦听\bin\Debug\SoundChat.dll
文件 19456 2014-12-03 09:06 语音侦听\语音侦听\bin\Debug\语音侦听.exe
文件 186 2014-10-22 10:52 语音侦听\语音侦听\bin\Debug\语音侦听.exe.config
文件 44544 2014-12-03 09:06 语音侦听\语音侦听\bin\Debug\语音侦听.pdb
文件 11600 2014-12-03 10:44 语音侦听\语音侦听\bin\Debug\语音侦听.vshost.exe
文件 186 2014-10-22 10:52 语音侦听\语音侦听\bin\Debug\语音侦听.vshost.exe.config
文件 490 2010-03-17 22:39 语音侦听\语音侦听\bin\Debug\语音侦听.vshost.exe.manifest
目录 0 2014-12-06 15:28 语音侦听\语音侦听\obj\
目录 0 2014-12-06 15:28 语音侦听\语音侦听\obj\x86\
目录 0 2014-12-06 15:28 语音侦听\语音侦听\obj\x86\Debug\
文件 5359 2014-11-04 14:09 语音侦听\语音侦听\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
文件 6718 2014-12-03 09:06 语音侦听\语音侦听\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
............此处省略12个文件信息
- 上一篇:wpf实现的手画板
- 下一篇:C#微信带参二维码海报
评论
共有 条评论