NAudio WaveStream 和多通道

Posted

技术标签:

【中文标题】NAudio WaveStream 和多通道【英文标题】:NAudio WaveStream and multiple channels 【发布时间】:2012-07-10 07:02:01 【问题描述】:

我有一个 WaveStream,我可以读取 WaveFormat 来获取通道数。当我从那个 WaveStream 读取数据时,我是在读取第一个通道还是从所有混合通道中读取数据?

我想做一个用户控件来显示 WaveForm,但我不确定我的控件是否正确显示。

【问题讨论】:

【参考方案1】:

当您从 WaveStream 中读取数据时,您正在逐一读取所有通道样本。首先你正在读取第一个通道,第二个样本是第二个通道的第一个样本。

如果你把它们放在一个数组中,那么第一个索引是第一个通道,第二个索引是第二个通道,第三个索引是第三个通道。因此,如果您在波形中显示左声道,则应显示索引 0、2、4 和 6,如果显示右声道索引 1、3、5 和 7(如果您有当然)。

【讨论】:

所以如果你在波形中显示左声道,你应该显示索引 0,2,4,6 [..]你能解释一下如何从 WaveStream 中读取样本并将其显示在 WaveViewer(GUI 控件)中?我可以播放 wav 文件,但想显示两个通道的波形。

以上是关于NAudio WaveStream 和多通道的主要内容,如果未能解决你的问题,请参考以下文章

如何将 NAudio WaveStream 写入内存流?

使用 NAudio 将 WAV 流转换为 Opus

NAudio中的WaveStream到字节数组?

使用 NAudio/Lame 将 .wav 转换为 mp3 时如何设置通道和采样率?

Naudio wav格式问题

在 NAudio 中附加 WAV 标头