C# 的 BinaryReader
类主要用于读取二进制文件中的数据。虽然它本身并没有专门针对音频数据的处理功能,但是你可以使用它来读取和处理音频数据。
要使用 BinaryReader
处理音频数据,你需要首先将音频文件(如 WAV、MP3 等)读入内存中,然后使用 BinaryReader
对象来读取和处理这些数据。以下是一个简单的示例,展示了如何使用 BinaryReader
读取 WAV 文件中的音频数据:
using System; using System.IO; class Program { static void Main() { // 读取音频文件 using (FileStream fileStream = new FileStream("audio.wav", FileMode.Open, FileAccess.Read)) { // 创建 BinaryReader 对象 using (BinaryReader binaryReader = new BinaryReader(fileStream)) { // 读取音频文件的魔数(用于识别文件类型) string magicNumber = binaryReader.ReadString(4); Console.WriteLine("Magic number: " + magicNumber); // 读取音频文件的其他元数据(如采样率、通道数等) int sampleRate = binaryReader.ReadInt32(); int channels = binaryReader.ReadInt16(); int bitDepth = binaryReader.ReadInt16(); Console.WriteLine("Sample rate: " + sampleRate); Console.WriteLine("Channels: " + channels); Console.WriteLine("Bit depth: " + bitDepth); // 跳过音频数据块(每个块包含音频采样) binaryReader.BaseStream.Position += 44; // 读取音频数据 int dataSize = binaryReader.ReadInt32(); byte[] audioData = https://www.yisu.com/ask/binaryReader.ReadBytes(dataSize);>请注意,这个示例仅适用于 WAV 文件。对于其他音频格式(如 MP3),你需要使用专门的库(如 NAudio、FFMpeg 等)来解码和处理音频数据。