gpt4 book ai didi

c# - 如何使用 NAudio 将任何音频格式转换为 mp3

转载 作者:太空宇宙 更新时间:2023-11-03 13:38:11 25 4
gpt4 key购买 nike

public void AudioConvert()
{
FileStream fs = new FileStream(InputFileName, FileMode.Open, FileAccess.Read);
NAudio.Wave.WaveFormat format = new NAudio.Wave.WaveFormat();
NAudio.Wave.WaveStream rawStream = new RawSourceWaveStream(fs, format);
NAudio.Wave.WaveStream wsDATA = WaveFormatConversionStream.CreatePcmStream(rawStream);
WaveStream wsstream = wst.CanConvertPcmToMp3(2, 44100);
.....
}

// Here is the class
public class WaveFormatConversionStreamTests
{
public WaveStream CanConvertPcmToMp3(int channels,int sampleRate)
{
WaveStream ws = CanCreateConversionStream(
new WaveFormat(sampleRate, 16, channels),
new Mp3WaveFormat(sampleRate, channels, 0, 128000/8));
return ws;
}
}

在这里,我试图将任何音频格式转换为 mp3,但我的代码在 ConvertPCMToMp3 函数调用时抛出类似“ACMNotPossible”的异常。我正在使用 NAudio 1.6 版本的 dll。现在我正在使用 Windows 7。请告诉我这段代码哪里出错了。

最佳答案

WaveFormatConversionStream 是 Windows ACM API 的包装器,因此如果您安装了 ACM MP3 编码器,则只能使用它来制作 MP3。 Windows 不附带其中之一。制作 MP3 最简单​​的方法就是使用 LAME.exe。我在 this article 中解释了如何在 C# 中执行此操作.

此外,如果您使用的是 NAudio 1.7 的 alpha 版本并且在 Windows 8 上,那么您可以使用 Windows 8 似乎附带的 MP3 编码器作为媒体基础转换。使用 MediaFoundationEncoder(NAudio WPF 演示展示了如何执行此操作)。

关于c# - 如何使用 NAudio 将任何音频格式转换为 mp3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18030070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com