c# - NAudio WaveFileReader.ReadNextSampleFrame() 返回无效幅度
问题描述
我将音符 D 记录到 wav 文件中,并希望获得它的振幅数组。我在开始录音之前就开始播放这个音符,所以没有空的间隔。然后我使用 NAudio.WaveFileReader.ReadNextSampleFrame() 来获取它的幅度,但输出有很多零并且很少遇到非零值,例如:
0
0
0.1312
0
0
... a lot of zeros
0.12312
0.123123
0
0
..a lot of zeros
0
0.12312
这是我的代码:
using (var reader = new WaveFileReader("record.wav"))
{
var leftAmplitudes = new List<float>();
var rightAmplitudes = new List<float>();
for (int i = 0; i < reader.SampleCount; i++)
{
var sampleFrame = reader.ReadNextSampleFrame();
leftAmplitudes.Add(sampleFrame[0]);
rightAmplitudes.Add(sampleFrame[1]);
}
}
你知道我怎样才能得到实际的幅度吗?
解决方案
推荐阅读
- python - 在 Windows 中从 .ui 文件转换为 .py 文件时的格式问题
- python - 多处理 Python 3
- excel - 使用excel vba在逗号分隔列中查找字符串
- r - 在服务器上托管的 R 闪亮工具上上传大文件
- python - 使用 python 和 selenium 从网页获取产品详细信息
- c# - Switch case 采用数组项而不是严格值
- android - android studio中线性布局的高度
- azure - Azure 中基于资源的策略
- javascript - 如何使用 jQuery 查找具有特定名称的下一个输入并获取其值?
- azure-devops-server-2019 - Azure DevOps 服务器 2019 更新 1.1。无法分离集合。收藏现在“离线”,无法“在线”