• 大小: 95KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-06
  • 语言: C#
  • 标签: PCM录音  

资源简介

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个文件信息

评论

共有 条评论

相关资源