使用 NAudio 获取音频的峰值

Posted

技术标签:

【中文标题】使用 NAudio 获取音频的峰值【英文标题】:Getting audio's peak values using NAudio 【发布时间】:2013-11-10 15:08:53 【问题描述】:

我使用以下 [Visual Basic .NET] 代码来播放音频文件:

Dim waveoutdevice As NAudio.Wave.IWavePlayer = New NAudio.Wave.WaveOut
Dim mainoutputstream As NAudio.Wave.WaveStream
Dim volumestream As NAudio.Wave.WaveChannel32mainoutputstream = CreateInputStream("C:\music\song.mp3")
waveoutdevice.Init(mainoutputstream)
waveoutdevice.Play()

这行得通。 但我不知道如何制作音量峰值表。 我在整个互联网上搜索过,但找不到任何对我有用的东西。 有人能帮帮我吗? :)

【问题讨论】:

【参考方案1】:

NAudio 演示代码中有几个峰值计示例。例如AudioPlaybackPanel 使用MeteringSampleProvider 生成峰值以传递给峰值计控件。如果您可以访问 PluralSight,我的 NAudio course 中有一个模块可以更详细地解释此代码的工作原理。

【讨论】:

以上是关于使用 NAudio 获取音频的峰值的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 NAudio 获取音频的波形图像

NAudio 获取音频样本

如何使用 NAudio 从 mp3 中获取音频样本数据

使用 naudio 获取 1 秒音频文件的分贝数

使用 NAudio 发送正在播放的音频

使用 NAudio 读取包含作品音频的 MemoryStream