Tag: 录音

从naudio.Wave.WaveIn到Stream?

我复制了这段代码,我不明白,但我知道它完成后它会做什么(输出 – sourceStream)… NAudio.Wave.WaveIn sourceStream = null; NAudio.Wave.DirectSoundOut waveOut = null; NAudio.Wave.WaveFileWriter waveWriter = null; sourceStream = new NAudio.Wave.WaveIn(); sourceStream.DeviceNumber = 2; sourceStream.WaveFormat = new NAudio.Wave.WaveFormat(16000, NAudio.Wave.WaveIn.GetCapabilities(2).Channels); NAudio.Wave.WaveInProvider waveIn = new NAudio.Wave.WaveInProvider(sourceStream); waveOut = new NAudio.Wave.DirectSoundOut(); waveOut.Init(waveIn); //sourceStream.DataAvailable. sourceStream.StartRecording(); waveOut.Play(); sourceStream.StopRecording(); 据我所知,此代码记录来自所选麦克风的声音并为其提供输出(sourceStream) 所以我需要的第一件事是 – >我如何从这段代码中获取流(喜欢而不是WaveIn a Stream [从WaveIn转换为Stream])? 请你们解释一下代码……我试过NAudio网站的解释,但我不明白 – >我是音频和流媒体的初学者……

从应用程序录制和保存声音?

我想在c#(或vb.net)中做一个应用,它记录我告诉它时扬声器发出的每一个声音,当我完成时我想按一个按钮并将其保存为mp3(或一些其他格式)。 到目前为止,我只发现了可以从麦克风录制内容的API。 我的问题是:.NET框架中是否有任何内容,或者是否有一些API可以实现这一点?

如何在线路输入声音文件(麦克风)?

这个头衔可能看起来很荒谬,但我有问题。 我有Service capture line-in ,并将系统上的文件保存为声音文件(该服务不由我开发,我必须使用它)。 所以我想编写程序来选择声音文件(* .wav,* .mp3等),然后该声音文件将play on Line-in (Microphone) to record as user speech 。 问:那么在C#中如何做到这一点? 任何建议? 谢谢

如何使用C#/ WPF录制音频?

我有一个应用程序,我想添加直接从某种麦克风设备导入小音频片段的function。 我已经允许导入图片,这对于磁盘文件和摄像头来说还可以,因为当你附加它们时,摄像机会神奇地变成磁盘设备,因此文件导入方法适用于两者。 但音频略有不同。 我已经允许从磁盘导入音频文件,但我想添加从麦克风直接录制到磁盘文件或内存缓冲区的function。 C#/ WPF提供了一种简单的方法吗? 添加此function的好方法是什么?

如何使用AsioOut使用NAudio录制和播放

我正在尝试使用C# 直接 获得声音输入并以较少的延迟发送输出 。 我正在使用支持ASIO的库NAudio以获得更好的延迟。 特别是,我使用AsioOut对象进行录制,另一个用于使用BufferedWaveProvider初始化的回放, BufferedWaveProvider填充了一个回调函数: OnAudioAvailable ,它允许我使用ASIO缓冲区。 问题是我听到了各种故障和延迟的声音。 我认为问题在于OnAudioAvailable函数,其中缓冲区充满了从声卡输入的数据。 声明: NAudio.Wave.AsioOut playAsio; NAudio.Wave.AsioOut recAsio; NAudio.Wave.BufferedWaveProvider buffer; 播放程序: if (sourceList.SelectedItems.Count == 0) return; int deviceNumber = sourceList.SelectedItems[0].Index; recAsio = new NAudio.Wave.AsioOut(deviceNumber); recAsio.InitRecordAndPlayback(null, 2, 44100); //rec channel = 1 NAudio.Wave.WaveFormat formato = new NAudio.Wave.WaveFormat(); buffer = new NAudio.Wave.BufferedWaveProvider(formato); recAsio.AudioAvailable += new EventHandler(OnAudioAvailable); //Collego l’output col […]

计算分贝

我正在使用XNA库录制麦克风输入(我认为这不是特定技术,但它永远不会受到伤害)。 每次我得到一个样本,我想计算分贝。 我在互联网上做了很多搜索,没有发现坚如磐石的例子…… 这是我尝试从样本计算分贝: double peak = 0; for (var i = 0; i peak) peak = sample; else if (sample < -peak) peak = -sample; } var decibel = (20 * Math.Log10(peak/32768)); 如果我将分贝值输出到屏幕上,我可以看到值越高越响,因为我说话更柔和。 然而,当我绝对安静时,它总是在-40左右徘徊……我认为它会是-90。 我必须在上面的块中计算错误? 从我在某些网站上看到的内容-40相当于“软谈话”…但是,它完全安静。 另外,如果我将麦克风静音,它会直接转到-90。 我做错了吗?

C#录制声卡音频

我想录制声卡(输出)中的音频。 我在codeplex上找到了CSCore,但我找不到任何例子。 有谁知道如何使用库来录制声卡中的音频并将记录数据写入硬盘? 或者有人知道该库的一些教程吗?