问题标签 [naudio]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
540 浏览

vb.net - NAudio Mp3 转 WaveIn

我希望能够将自定义声音 mp3 输出到聊天轮盘等应用程序。我可以将其设为“虚拟麦克风”,然后在聊天中选择它(就像 iso 是虚拟 CD 驱动器一样)。或者通过使用 NAudio 将 mp3 输出到 wave 中。

这似乎不起作用(如在 DOES compile、DOES Excecute 中,但录音机不显示任何声音)。

0 投票
1 回答
5114 浏览

c# - 如何解码 RTP 数据包并将其保存为 .wav 文件

我正在尝试开发一个应用程序,其中建立了一个 sip 呼叫,然后我正在捕获 rtp 音频数据包。由于它们已编码,因此我需要对其进行解码并将其保存为 .wav 文件。尝试使用 NAudio 但没有奏效。有没有使用 NAudio 或任何其他来源的解决方案来解决这个问题......

我使用的代码如下。data 是 rtp 数据包数据所在的字节数组。

提前致谢。

0 投票
1 回答
1772 浏览

.net - 如何在 C# 中使用 NAudio 将 3 个 wav 文件加入到具有 3 个通道的单个文件中?

使用 C# 和 NAudio,我有三个波形文件我想加入一个具有三个通道的单个波形文件,每个通道对应于三个输入文件之一。此外,我希望每个波形文件中的音频剪辑从最终流中的不同点开始。例如,如果三个波形文件的长度是 3 秒,则 5 秒。和 2 秒。分别,输出波形文件将是 10 秒长和...

  • 通道 1 包含文件 1 中 3 秒的声音,然后是 7 秒的静音。

  • 通道 2 包含 3 秒的静音,然后是来自文件 2 的 5 秒的声音,然后是 2 秒的静音。

  • 通道 3 包含 8 秒的静音,然后是来自文件 3 的 2 秒的声音。

我一直在尝试为每个文件创建一个 WaveChannel32 实例,然后使用 WaveOffsetStream 类,但我对这种事情很陌生,而且我没有取得太大的成功。

有人有什么建议吗?

0 投票
2 回答
12499 浏览

c# - 使用 C# 使用 NAudio 进行录制

我正在尝试使用 NAudio 在 C# 中录制音频。在查看了 NAudio Chat Demo 之后,我使用了那里的一些代码进行记录。

这是代码:

但是,没有调用 eventHandler。我正在使用 .NET 版本“v2.0.50727”并将其编译为:

0 投票
1 回答
1965 浏览

c# - NAudio算法播放一个频率可以实时平滑变化的正弦波

到目前为止,我已经实现了在这篇文中找到的算法,但成功有限。

我的程序的概念是初始化正弦波,然后根据鼠标在屏幕上的位置改变频率 - 向上移动鼠标,正弦波变高,反之亦然(本质上是使用鼠标的特雷门型仪器)。

到目前为止,我实施的问题是,当正弦波的频率更新时,会发出咔哒声,而不是提供平滑的频率扫描,听起来像是有离散的频率水平。我一直在 NAudio 论坛和此处搜索高低,但似乎没有其他人试图使用 NAudio 或任何其他声音模块来做这种事情 - 所有类似的程序都执行类似地使用 Kinect 等设备使用虚拟 MIDI 布线和现有的软件模块,但我想在不依赖外部软件包的情况下实现相同的概念。

我已在此处的 NAudio 论坛上发布了与此问题有关的代码部分, 如您所见,我正在按照 MarkHeath 的建议在此处尝试找到解决我的问题的方法。

0 投票
4 回答
1345 浏览

c# - 使用 NAudio 录制时出现 NullReferenceException(在 c# 中)

我正在尝试在 C# 中使用 NAudio 录制语音,但我被困在两个地方:

1. A crash:

通过THIS SO page 中稍微修改的代码形式,我得到了一个NullReferenceException. 这是崩溃日志:

代码是:

大多数情况下,这发生在我开始第三次录制时。知道是什么原因造成的吗?

*2. Modifying rate and channels at runtime.*

在我的实际代码中,我s_WaveIn.WaveFormat = new WaveFormat(new_rate, new_channels);在调用之前使用重置波形格式StartRecording()。我没有打电话Dispose(),因为这需要重置DataAvailable回调,为此,我需要另一个消息循环。这种方法是否正确,或者我应该先调用 Dispose,然后用新格式重新初始化 s_WaveIn?

谢谢你。

0 投票
2 回答
201 浏览

windows - 如何在登录前启动我的程序?

我需要创建一个在用户登录之前运行的程序。我想在 C# 中创建该程序。有人可以给我一个提示,从哪里以及如何开始。

0 投票
1 回答
1374 浏览

c# - 获取音频缓冲区数据

我正在使用 naudio,我很好奇如何获取音频缓冲区数据。

有没有办法从从 WaveFileReader 读取的 Wave 文件中获取音频缓冲区数据?我想最终将其保存到文件中。

我认为这样做是

字节[] 缓冲区 = 新字节[wave.Length]; wave.Read(buffer, 0, (int)wave.Length);

但是,wave.length 是音频数据缓冲区的长度,还是相对于持续时间的长度?如果不是持续时间,我怎样才能获得持续时间?

0 投票
1 回答
1939 浏览

c# - 在 NAudio 中录制时减少通道数

我正在使用 CLEye 驱动程序使用 PS3Eye 相机在 NAudio 中录制。摄像头有一个 4 个麦克风阵列,并向系统呈现 4 个音频通道。

默认情况下,所有通道都由 NAudio 录制。我正在录制 PCM 波,并获得一个 4 通道 WAV 输出文件。

当我尝试在 NAudio 中播放文件时,我收到一个调用 acmFormatSuggest 的 MmException 'NoDriver'。立体声文件播放正常。

我的声卡只能输出 2 个声道,这似乎导致了错误。将我的 Windows 音频设置设置为 Quadraphonic 并不能解决此问题。

也许我可以让 NAudio 只录制 2 个通道,或者在某个地方实现我自己的 WaveStream?

有人对NAudio中的通道数进行下采样有什么想法吗?(最好在记录时间)。非常感谢!

0 投票
1 回答
1961 浏览

naudio - 使用 NAudio 播放 MP3 - Stop() 的问题

我刚刚开始使用 NAudio (1.4) 来播放 MP3。我一直在研究示例的文档和源代码。目前我在课堂上有这个:

这可以很好地加载并播放我的测试曲目,我的问题在于 Stop() 函数。首先,我是否需要在调用 Stop() 后重置 CurrentTime 属性?目前,它更像是一个暂停按钮,即它在“停止”的同一位置恢复轨道。如果我确实需要重置 CurrentTime,我现在会遇到一个问题,如果我单击停止,曲目会停止,但如果我之后再次单击播放,我会在曲目再次开始之前得到一点剩余的噪音。

查看其中一个示例的源代码,它所做的只是调用 Stop()。