首页 > 解决方案 > 使用 NAudio 将 wav 文件拆分为字节数组

问题描述

我想知道如何将 WAV 文件的通道拆分为带有 PCM 数据的两个字节数组。

我一直在尝试用 NAudio 做到这一点,但我无法做到。

标签: c#.netvisual-studiowinformsnaudio

解决方案


您可以尝试以下方法将 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");
            }

推荐阅读