c# - 使用 NAudio 将 wav 文件拆分为字节数组
问题描述
我想知道如何将 WAV 文件的通道拆分为带有 PCM 数据的两个字节数组。
我一直在尝试用 NAudio 做到这一点,但我无法做到。
解决方案
您可以尝试以下方法将 wav 文件拆分为两个字节数组。
using (WaveFileReader pcm = new WaveFileReader(@"E:\\test.wav"))
{
int samplesDesired = 5000;
byte[] buffer = new byte[samplesDesired * 4];
short[] left = new short[samplesDesired];
short[] right = new short[samplesDesired];
int bytesRead = pcm.Read(buffer, 0, 10000);
int index = 0;
for (int sample = 0; sample < bytesRead / 4; sample++)
{
left[sample] = BitConverter.ToInt16(buffer, index);
index += 2;
right[sample] = BitConverter.ToInt16(buffer, index);
index += 2;
}
MessageBox.Show("success");
}
推荐阅读
- python - Python 错误 SSL: ssl.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 警报握手失败 (_ssl.c:726)
- java - 方法 getParcelableExtra() 在创建意图时返回 null
- javascript - 如何在 JavaScript 中获取标签的 ID
- symfony - 启动 Symfony 项目
- visual-studio-code - 从键盘逐行滚动终端
- html - 如何在不使用 JavaScript 的情况下更改表格标题中的背景颜色并修复 HTML 中的标题?
- julia - 删除 julia 数组上的空列
- javascript - UglifyJsPlugin 在 Webpack 4 中使用 babel-preset-env 仍然存在 es6 问题
- http - 如何使用 kubectl 代理从 Kubernetes 集群中删除 pod
- database - 仅选择语句 ORA-01427:单行子查询返回多于一行