zoukankan      html  css  js  c++  java
  • DxPackNet 3.音频捕捉(录音)

    用DxpackNet捕捉音频其实很简单 

    1.初始化控件

           IDxMicrophCapture microphone;
            private void Form1_Load(object sender, EventArgs e)
            {
                //创建麦克风控件
                microphone = DxFactory.CreateDxCompent<IDxMicrophCapture>(100);
                //设置音频数据回调
                microphone.AudioCb = auCaptureBufferCB;
            }

    2.打开设备

           private void button1_Click(object sender, EventArgs e)
            {
                //创建音频文件
                fs = new FileStream(textBox1.Text.Trim(), FileMode.Create);
                //打开麦克风设备
                microphone.Open();
                //开始录音
                microphone.Start();
            }

    3.通过回调函数获得音频数据,写音频文件,或者输出到其他平台

            private void auCaptureBufferCB(byte[] buffer, int length)
            {
                //将音频流写入文件
                fs.Write(buffer, 0, length);
            }

    4.如果是写文件,录音完成后做收尾工作  加上wav格式的头  不然文件不被其他播放器识别

            private void button2_Click(object sender, EventArgs e)
            {
                //停止录音
                microphone.Stop();
                if (fs != null) fs.Close();
                int filesize = (int)(new FileInfo(textBox1.Text.Trim())).Length;
                //生成WAV文件头并写入音频文件 不做这个其他播放器不能识别为wav文件
                byte[] buf = microphone.GetWavHeader(filesize);
                using (fs = new FileStream(textBox1.Text.Trim(), FileMode.Open, FileAccess.Write))
                {
                    fs.Seek(0, SeekOrigin.Begin);
                    fs.Write(buf, 0, buf.Length);
                }
            }

     源码下载 AudioRecord.zip

  • 相关阅读:
    Component 组件props 属性设置
    template 模版制作
    vue生命周期钩子函数
    Vue.set 全局操作 结构器外面修改数据
    Vue.extend 构造器的延伸
    vue.directive自定义指令
    实战笔记
    实战-第二讲 Vue-cli搭建开发环境
    实战-第一讲 画设计图
    webpack-第03节:配置文件:入口和出口
  • 原文地址:https://www.cnblogs.com/dint/p/8418916.html
Copyright © 2011-2022 走看看