当前位置: 首页 > news >正文

如何设计网站建设引导页企业官网是什么意思

如何设计网站建设引导页,企业官网是什么意思,企业网站建设设置那些栏目,爱心助学网站建设C# NAudio 音频库 NAudio安装NAudio简述简单示例1录制麦克风录制系统声卡WAV格式播放MP3格式播放AudioFileReader读取播放音频MediaFoundationReader 读取播放音频 NAudio安装 项目NuGet包管理器 搜索NAudio点击安装#xff0c;自动安装依赖库。 安装成功后工具箱会新增… C# NAudio 音频库 NAudio安装NAudio简述简单示例1录制麦克风录制系统声卡WAV格式播放MP3格式播放AudioFileReader读取播放音频MediaFoundationReader 读取播放音频 NAudio安装 项目NuGet包管理器 搜索NAudio点击安装自动安装依赖库。 安装成功后工具箱会新增NAudio.WinForms控件 NAudio简述 NAudio为.NET平台下的开源库采用ML-PL协议开源地址https://github.com/naudio/NAudio支持多种音频操作可实现多种API播放与录制、多种不同音频格式、音频格式转换重采样、位深、声道等、音频编码、多通道播放、音频效果处理等等。 快速入门 深入研究 常用类 WaveIn 表示波形输入, 继承了 IWaveIn, 例如麦克风输入, 或者计算机正在播放的音频流。WaveOut 表示波形输出, 继承了 IWavePlayer, 用来播放音频, 以 IWaveProvider 作为播放源播放音频, 通过拓展方法也支持以 ISampleProvider 作为播放源播放音频。WaveStream 表示波形流, 它继承了 IWaveProvider, 可以用来作为播放源。WaveFileReader 继承了 WaveStream, 用来读取波形文件。WaveFileWriter 继承了Stream, 用来写入文件, 常用于保存音频录制的数据。AudioFileReader 通用的音频文件读取器, 可以读取波形文件, 也可以读取其他类型的音频文件例如 Aiff, MP3 常用接口 IWaveProvider 波形提供者, 上面已经提到, 是音频播放的提供者, 通过拓展方法可以转换为 ISampleProvider。ISampleProvider 采样提供者, 上面已经提到, 通过拓展方法可以作为 WaveOut 的播放源。 简单示例1 自定义录音机类Recorder.cs using NAudio.Wave; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace NAudioDemo {internal class Recorder{public WaveIn mWaveIn;public WaveFileWriter mWaveFileWriter;public int secondsRecorded;/// summary/// 开始录音/// /summary/// param namefilePath/parampublic void RecorderStart(string filePath){// 创建WaveIn对象mWaveIn new WaveIn();// 添加DataAvailable事件处理回调mWaveIn.DataAvailable OnDataAvailable;// 创建WaveFileWriter对象mWaveFileWriter new WaveFileWriter(filePath, mWaveIn.WaveFormat);// 开始录音mWaveIn.StartRecording();}/// summary/// 停止录音/// /summarypublic void RecorderStop(){mWaveIn?.StopRecording();mWaveIn?.Dispose();mWaveFileWriter?.Close();mWaveFileWriter null;}/// summary/// 录音数据回调/// /summary/// param namesender/param/// param namee/paramprivate void OnDataAvailable(object sender, WaveInEventArgs e){// 写入录音数据mWaveFileWriter.Write(e.Buffer, 0, e.BytesRecorded); // 计算已录制的秒数secondsRecorded (int)mWaveFileWriter.Length / mWaveFileWriter.WaveFormat.AverageBytesPerSecond;}} } using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;using System.IO; using NAudio.Wave; using System.Drawing.Text; using System.Media; using NAudio.Dsp;namespace NAudioDemo {public partial class Form1 : Form{ // 创建录音机类实例Recorder recorder new Recorder();public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){}private void button1_Click(object sender, EventArgs e){button1.Enabled false;button2.Enabled true;recorder.RecorderStart(D:\1.wav);}private void button2_Click(object sender, EventArgs e){button1.Enabled true;button2.Enabled false;recorder.RecorderStop();}private void button3_Click(object sender, EventArgs e){SoundPlayer player new SoundPlayer(D:\1.wav);player.Play(); }} } 录制麦克风 借助 WaveIn 类, 我们可以轻易的捕获麦克风输入, 在每一次录制到数据时, 将数据写入到文件或其他流, 这就实现了保存录音 在保存波形文件时需要借助 WaveFileWriter, 当然, 如果你想保存为其他格式, 也可以使用其它的 Writer, 例如 CurWaveFileWriter 以及AiffFileWriter, 美中不足的是没有直接写入到 MP3 的 FileWriter 需要注意的是, 桌面程序可以直接使用 WaveIn, 其回调基于 Windows 消息, 所以无法在控制台应用中使用 WaveIn 如果要在控制台应用中实现录音, 只需要使用 WaveInEvent, 它的回调基于事件而不是 Windows 消息, 所以可以通用 示例代码 WaveIn cap new WaveIn(); // cap, capture WaveFileWriter writer new WaveFileWriter(); cap.DataAvailable (s, args) writer.Write(args.Buffer, 0, args.BytesRecorded); // 订阅事件 cap.StartRecording(); // 开始录制 cap.StopRecording(); // 停止录制 writer.Close(); // 关闭 FileWriter, 保存数据 另外, 除了使用 WaveIn, 你还可以使用 WasapiCapture, 它与 WaveIn 的使用方式是一致的, 可以用来录制麦克风 Wasapi 全称 Windows Audio Session Application Programming Interface (Windows音频会话应用编程接口) 具体 WaveIn, WaveInEvent, WasapiCapture 的性能, 笔者还没有测试过, 但估计不会有太大差异. 提示: WasapiCapture 和 WasapiLoopbackCapture 位于 NAudio.Wave 命名空间下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;using NAudio; using NAudio.Wave;namespace NAudioDemo2 {public partial class Form2 : Form{private WaveIn waveIn null;private WaveFileWriter writer null;public Form2(){InitializeComponent();button2.Enabled false;button3.Enabled false;}/// summary/// 设置保存文件名称/// /summary/// param namesender/param/// param namee/paramprivate void button1_Click(object sender, EventArgs e){saveFileDialog1.InitialDirectory Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);saveFileDialog1.Filter audio files (*.wav)|*.wav| all files (*.*)|*.*; // 文件类型过滤saveFileDialog1.DefaultExt *.wav; // 默认文件扩展名//saveFileDialog1.FileName 1.wav; // 默认文件名if (saveFileDialog1.ShowDialog() DialogResult.OK){ string fName saveFileDialog1.FileName; // 获取文件名textBox1.Text fName;button2.Enabled true;}}/// summary/// 开始录音/// /summary/// param namesender/param/// param namee/paramprivate void button2_Click(object sender, EventArgs e){//waveIn new WaveIn { WaveFormat new WaveFormat(44100, 1) };waveIn new WaveIn();waveIn.WaveFormat new WaveFormat(44100, 1);writer new WaveFileWriter(textBox1.Text.Trim(), waveIn.WaveFormat);waveIn.DataAvailable (s, args) writer.Write(args.Buffer, 0, args.BytesRecorded);waveIn.StartRecording();button2.Enabled false;button3.Enabled true;}/// summary/// 停止录音/// /summary/// param namesender/param/// param namee/paramprivate void button3_Click(object sender, EventArgs e){waveIn.StopRecording();waveIn.Dispose();waveIn null;writer.Flush();writer.Close();writer.Dispose();button2.Enabled true;button3.Enabled false;}} } 录制系统声卡 录制声卡输出, 也就是录制计算机正在播放的声音, 借助 WasapiLoopbackCapture 即可简单实现, 使用方式与 WasapiCapture 无异 WasapiLoopbackCapture cap new WasapiLoopbackCapture(); WaveFileWriter writer new WaveFileWriter(); cap.DataAvailable (s, args) writer.Write(args.Buffer, 0, args.BytesRecorded); cap.StartRecording(); using NAudio.Wave; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace NAudioDemo2 {public partial class Form3 : Form{private WasapiLoopbackCapture loopCap new WasapiLoopbackCapture();private WaveFileWriter fileWriter;public Form3(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){SaveFileDialog saveFileDialog new SaveFileDialog();saveFileDialog.Filter wave file *.wav|*.wav|all filse *.*|*.*;saveFileDialog.DefaultExt .wav;if (saveFileDialog.ShowDialog() DialogResult.OK){string fName saveFileDialog.FileName;textBox1.Text fName; }}/// summary/// 录制声卡开始/// /summary/// param namesender/param/// param namee/paramprivate void button2_Click(object sender, EventArgs e){fileWriter new WaveFileWriter(textBox1.Text.Trim(), loopCap.WaveFormat) ;loopCap.DataAvailable (s, args) fileWriter.Write(args.Buffer, 0, args.BytesRecorded);loopCap.StartRecording();}/// summary/// 录制声卡停止/// /summary/// param namesender/param/// param namee/paramprivate void button3_Click(object sender, EventArgs e){loopCap.StopRecording();fileWriter.Flush();fileWriter.Close();fileWriter.Dispose();}} } WAV格式播放 NAudio 中, 通过 WaveFileReader 来读取波形数据, 在实例化时, 你可以指定文件名或者是输入流, 这意味着你可以读取内存流中的音频数据. WaveFileReader reader new WaveFileReader(filepath); WaveOut wout new WaveOut(); wout.Init(reader); // 通过 IWaveProvider 为音频输出初始化 wout.Play(); // 至此, wout 将从指定的 reader 中提供的数据进行播放 using NAudio.Wave; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace NAudioDemo2 {public partial class Form4 : Form{private WaveOut wout_wav;WaveFileReader reader;public Form4(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){OpenFileDialog ofd new OpenFileDialog();ofd.Filter audio file *.wav|*.wav;ofd.DefaultExt *.wav;if (ofd.ShowDialog() DialogResult.OK){string fName ofd.FileName;textBox1.Text fName;}}private void button2_Click(object sender, EventArgs e){reader new WaveFileReader(textBox1.Text.Trim());wout_wav new WaveOut();wout_wav.Init(reader);wout_wav.Play();}private void button3_Click(object sender, EventArgs e){wout_wav.Pause();}private void button4_Click(object sender, EventArgs e){wout_wav.Resume();}private void button5_Click(object sender, EventArgs e){wout_wav.Stop();wout_wav.Dispose();reader.Close();}} } MP3格式播放 播放 MP3 音乐其实与播放波形音乐没有太大区别, 只不过将 WaveFileReader 换成Mp3FileReader 罢了 Mp3FileReader reader new Mp3FileReader(filepath); WaveOut wout new WaveOut(); wout.Init(reader); wout.Play(); using NAudio.Wave; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace NAudioDemo2 {public partial class Form5 : Form{Mp3FileReader reader;WaveOut wout_mp3;public Form5(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){OpenFileDialog ofd new OpenFileDialog();ofd.Filter audio file *.mp3|*.mp3;ofd.DefaultExt *.mp3;if (ofd.ShowDialog() DialogResult.OK){ string fName ofd.FileName;textBox1.Text fName;}}private void button2_Click(object sender, EventArgs e){reader new Mp3FileReader(textBox1.Text);wout_mp3 new WaveOut();wout_mp3.Init(reader);wout_mp3.Play();}private void button3_Click(object sender, EventArgs e){wout_mp3.Pause();}private void button4_Click(object sender, EventArgs e){wout_mp3.Resume();}private void button5_Click(object sender, EventArgs e){wout_mp3.Stop();wout_mp3.Dispose();reader.Close();reader.Dispose();}} } AudioFileReader读取播放音频 通过AudioFileReader读取音频文件可以播放.mp3, .wav, .flac等多种格式 AudioFileReader reader new AudioFileReader (“d:\1.mp3”); WaveOut wout new WaveOut (); wout.Init(reader ); wout.Play(); wout.Pause(); wout.Resume(); wout.Stop(); using NAudio.Wave; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace NAudioDemo2 {public partial class Form6 : Form{AudioFileReader reader;WaveOut wout;public Form6(){InitializeComponent();}private void Form6_Load(object sender, EventArgs e){}private void button1_Click(object sender, EventArgs e){OpenFileDialog ofd new OpenFileDialog();ofd.Filter audio file *.mp3|*.mp3|all files *.*|*.*;if (ofd.ShowDialog() DialogResult.OK){ string fName ofd.FileName;textBox1.Text fName; }}private void button2_Click(object sender, EventArgs e){reader new AudioFileReader(textBox1.Text.Trim());wout new WaveOut();wout.Init(reader);wout.Play();}private void button3_Click(object sender, EventArgs e){wout.Pause(); }private void button4_Click(object sender, EventArgs e){wout.Resume();}private void button5_Click(object sender, EventArgs e){wout.Stop();wout.Dispose();reader.Close();reader.Dispose();}} } MediaFoundationReader 读取播放音频 通过MediaFoundationReader 读取音频文件可以播放.mp3, .wav, .flac等多种格式 MediaFoundationReader reader new MediaFoundationReader (“d:\1.mp3”); WaveOut wout new WaveOut (); wout.Init(reader ); wout.Play(); wout.Pause(); wout.Resume(); wout.Stop(); using NAudio.Wave; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace NAudioDemo2 {public partial class Form7 : Form{MediaFoundationReader reader;WaveOut wout;public Form7(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){OpenFileDialog ofd new OpenFileDialog();ofd.Filter audio file *.mp3|*.mp3|all files *.*|*.*;ofd.DefaultExt *.mp3;if (ofd.ShowDialog() DialogResult.OK){string fName ofd.FileName;textBox1.Text fName;}}private void button2_Click(object sender, EventArgs e){reader new MediaFoundationReader(textBox1.Text.Trim());wout new WaveOut();wout.Init(reader);wout.Play();}private void button3_Click(object sender, EventArgs e){wout.Pause();}private void button4_Click(object sender, EventArgs e){wout.Resume();}private void button5_Click(object sender, EventArgs e){wout.Stop();wout.Dispose();reader.Close();reader.Dispose();}} }
http://www.tj-hxxt.cn/news/228014.html

相关文章:

  • 北京检查站优化雄安智能网站建设电话
  • 做销售网站那家好企业小型网站要多少钱
  • 移动端购物网站建设目的上海app开发公司
  • php做网站需要mysql么网站首页被挂黑链
  • 定制企业网站建设网站页脚设计
  • 找做cad彩拼的网站创建购物平台需要什么
  • dede手机网站仿站无锡网站设
  • 做薪酬调查有哪些网站插件素材网站
  • 生小孩去什么网站做登记池州哪家做网站
  • 加强酒店网站建设的建议大连住房和建设局网站
  • 传播公司可以做门户网站吗中装建设股票行情
  • 三亚网站建设公司甘肃肃第八建设集团网站1
  • 为企业做网站建设优化小程序包年竞价漂亮企业网站源码
  • 天河做网站平台百度上海总部
  • 什么行业需要做网站公司申请注册流程
  • 烟台网站关键词推广哪个网站音乐做的最好的
  • 网站关于我们模板wordpress+软件+入门
  • 做网站商标分类海淀网站建设公司
  • 谷歌sem和seo区别网站seo的关键词排名怎么做的
  • 邯郸建设企业网站用微信怎么做商城网站吗
  • 招聘网站是做什麼的做网站是干嘛的
  • 京网站建设首选白龙马网络公司做网站价格
  • 外流网站建设杭州网站优化公司
  • 做网站的工作流程石家庄58同城
  • 中文旅游网站模板下载完全的图片宣传网站怎么做
  • 淄博网站制作建设优化怎么找客户资源
  • 网站建设这个职业是什么免费建站系统有哪些
  • 用asp做的几个大网站网页版梦幻西游地宫迷阵攻略
  • 网站移动端权重怎么做音乐网站数据库怎么做
  • 自建网站 服务器为什么要做手机网站