我想将 mp3 文件转换为 WAV。在 DirectX.DirectSound 中,辅助缓冲区仅支持 WAV。我正在使用 naudio 转换文件,这工作正常。
using (Mp3FileReader reader = new Mp3FileReader(mp3File))
{
WaveFileWriter.CreateWaveFile(outputFile, reader);
}
问题是我无法将文件保存在磁盘上,所以我必须将它们与流一起使用。
Mp3FileReader mp3reader = new Mp3FileReader(filenamePathMp3);
var stream=WaveFormatConversionStream.CreatePcmStream(mp3reader);
抛出异常值不在预期范围内。如何在不写入磁盘的情况下将音频转换为 WAV 或原始音频以用于 secondaryBuffer?
提前谢谢你,
最佳答案
WaveFileWriter
可以写入 Stream
而不是文件,因此您只需传入 MemoryStream
。此外,Mp3FileReader.Read
已经返回 PCM,因此您可以读出到 byte[]
中,然后根据需要将其插入到内存流中。
关于c# - 无需写入磁盘即可使用 naudio 将 Mp3 转换为 WAV。 (仅限流媒体),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15952646/