问题标签 [naudio-framework]

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 投票
3 回答
4485 浏览

c# - 如何从音频文件中获取样本的浮点数组

我正在开发一个处理音频数据的 UWP 应用程序(适用于 Windows 10)。它在开始时以样本浮点数组的形式接收样本缓冲区,其中项目从 -1f 变为 1f。早些时候,我使用了 NAudio.dll 1.8.0,它提供了所有必要的功能。使用 WaveFileReader、waveBuffer.FloatBuffer、WaveFileWriter 类。但是,当我完成此应用程序并尝试构建发布版本时,出现此错误:ILT0042:当前不支持指针类型数组:'System.Int32*[]'。

我试图解决它:

  1. https://forums.xamarin.com/discussion/73169/uwp-10-build-fail-arrays-of-pointer-types-error

有建议删除指向 .dll 的链接,但我需要它。

  1. 我尝试使用 Manage NuGet Packages 安装相同版本的 NAudio,但 WaveFileReader、WaveFileWriter 不可用。

  2. 在 NAudio 开发人员的回答(如何使用 NAudio 在 Windows 10 中存储 .wav 文件)中,我已经阅读了有关使用 AudioGraph 的信息,但我只能在实时播放中构建样本的浮点数组,但我需要获取完整的样本以正确打包音频文件上传后。在录制或播放过程中获取样本的示例: https ://docs.microsoft.com/ru-ru/windows/uwp/audio-video-camera/audio-graphs

这就是我需要帮助的原因:如何在音频文件上传后让 FloatBuffer 处理样本?例如,用于构建音频波或计算应用音频效果。

先感谢您。


  1. 我尝试使用 FileStream 和 BitConverter.ToSingle(),但是,与 NAudio 相比,我得到了不同的结果。换句话说,我仍在寻找解决方案。

0 投票
1 回答
322 浏览

c# - NAudio lame 将文本转换为 mp3 在服务器 c# Web 应用程序上无法正常工作?

我一直在使用 System.Speech 将文本转换为语音并使用此代码

C# 将文本到语音保存到 MP3 文件

它在本地工作得很好,但在服务器上不能正常工作,当我将它上传到服务器上时,它只创建大小为 2kb 的 mp3,甚至无法播放。我不知道服务器上阻止在服务器上创建 mp3 的原因是什么。我也在 Bin 文件夹和 Root Folder 上上传了 libmp3lame.32.dll 和 libmp3lame.64.dll 。但它仍然无法正常工作。谁能帮我找出我现在在服务器上可能面临的问题?

0 投票
1 回答
117 浏览

naudio - Output audio to speaker and headset at the same time?

I'm using NAudio to output audio files to both the speaker and a headset on a window 10 laptop. I created two WaveOut and assigned the corresponding device number. But I cannot here the audio from the speaker when the headset is plugged in. Can anyone let me know how to solve this? Here's my code (it works fine on the headset or the speaker separately, but I want to hear the sound from both of them at the same time):

0 投票
1 回答
1737 浏览

c# - 对于麦克风设备,NAudio 不提供“设备编号”

我正在使用 NAudio 录制来自多个麦克风设备的音频,但问题是,要分配设备,我必须提供设备编号(在 WaveIn 对象中),这是未知的。

如何获取设备编号以便我可以将设备唯一地分配给我的 WaveIn 对象?

0 投票
0 回答
957 浏览

c# - Naudio 是否适合实时音频处理?

我正在寻找音频处理/dsp 库。到目前为止,最有前途的一个是 Nadio 框架,因为它功能丰富并且有一些很好的学习材料。

我想知道这里是否有人以前使用过 Nadio,并且可以告诉我它是否可能有助于实现这些功能?

- Windows 应用程序应在用户启用后在后台运行。

- 即时执行动态范围压缩。这意味着它需要提前读取录音的一小部分并在播放前应用压缩。我认为 Naaudio 的 Directsound/WASAPI 兼容性可以对此有所帮助。

- 在播放录音时从麦克风读取输入,并根据麦克风输入应用音量调整(侧链压缩的一种形式)。

- 此音频操作不应对实际文件进行任何修改,仅对播放流进行修改。

github repo ( https://github.com/naudio/NAudio ) 上的文档似乎暗示了很多这种功能,但没有太多提及实时。

0 投票
0 回答
55 浏览

c# - 使用 PlaybackStopped 事件时,Naudio 崩溃问题

我正在使用 Naudio 播放声音,但有时我在读取器是 wavestram 列表的方法中遇到崩溃错误

我们可以使用一些不同的方式吗?

错误详情:

在此处输入图像描述

0 投票
1 回答
180 浏览

naudio - 从串行端口 (COM) 播放实时声音

我正在使用 arduino 的 ADC 从外部麦克风捕获数据并通过串行端口发送。我的问题是:如何使用 NAudio 捕获和播放这些数据?

0 投票
1 回答
25 浏览

c# - 瑙迪奥阅读器列表崩溃问题 [比赛条件]

我有一个Webstream reader<WaveStream> list,我正在使用 foreach 循环处理 WaveStream,如下所述

但是reader<WaveStream> list在 foreach 循环处理对象的同时被另一个方法修改,因此我们得到未处理的异常集合被另一个方法修改,我们的应用程序崩溃了

您能否提供一些解释或解释链接,如下所述,使用 for 循环后我们的崩溃问题如何解决?

我无法理解 for 循环如何readers.ToArray()解决崩溃问题。

0 投票
1 回答
699 浏览

c# - HLS 播放列表中列出的片段位于何处?

我有下一个 HLS 播放列表:https ://digitacdn.akamaized.net/hls/live/629243/radiosuomipop/master-128000.m3u8 。它包含 AAC 音频文件段链接。文件内容为:

我无法理解这些段的位置。有人可以解释一下吗?例如,如何使用 NAudio MediaFoundationReader 访问每个单独的片段来播放它?

0 投票
1 回答
1304 浏览

naudio - 如何将 Linear16 PCM wav 转换为与 g711.org 相同质量的 G711 8-bit 8-khz MULAW wav?

我正在使用 NAudio 尝试将来自 3rd 方 Text-To-Speech API 的 Linear16 PCM wav 文件转换为 G711 8 位 8-khz MULAW,该文件将用作电话提示。使用库作者文档和一些堆栈溢出帖子中的技术,特别是按照建议进行两步转换。

不幸的是,转换后的文件的音频质量相当下降(在一定程度上这是可以预料的)。但是,如果我采用与上面代码运行完全相同的源文件并将其提交到g711.org上的转换器并选择“BroadWorks Classic (8Khz, Mono, u-law)”选项,则生成的音频听起来要好得多(特别注意,在我们的一些提示中,它不会用诸如“访问”和“密码”之类的词来剪裁/粉碎 S)。

我已经确认这两个音频文件(我用 NAudio 转换的那个和我用 g711.org 生成的那个)都可以通过我们的电话系统作为提示正常播放。

想知道是否有任何具有 NAudio 经验的人对我可以在 NAudio 中做些什么以使转换后的文件的输出质量与我从 g711.org 网站得到的内容相匹配有什么建议?