如何转换音频数据格式1
原文在此:http://www.codeproject.com/Articles/501521/How-to-convert-between-most-audio-formats-in-NET
前面的音频处理背景知识就先跳过,需要的请自行脑补。
直接上干货。
一、声道转换1、单声道转立体声原理,双声道的16位采样,每16位是一个声道,也就是两字节;下一个16位是另外一个声道,交错进行。
// Just about worst resampling algorithm possible:private float[] ResampleNaive(float[] inBuffer, int inputSampleRate, int outputSampleRate){ var outBuffer = new List<float>(); double ratio = (double) inputSampleRate / outputSampleRate; int outSample = 0; while (true) { int inBufferIndex = (int)(outSample++ * ratio); if (inBufferIndex < read) writer.WriteSample(inBuffer[inBufferIndex]); else break; } return outBuffer.ToArray(); }========== 留坑,讲重采样的测试==========
下一部分,音频文件格式的转换