尝试使用 NAudio 播放 MP3 音频文件

发布于 2024-10-10 03:18:39 字数 930 浏览 5 评论 0原文

我正在按照本教程使用 NAudio 播放 MP3 音频文件。为了创建 WaveStream,我使用这种方法:

private WaveStream CreateInputStream(string fileName)
        {
            WaveChannel32 inputStream;
            if (fileName.EndsWith(".mp3"))
            {
                WaveStream mp3Reader = new Mp3FileReader(fileName);
                inputStream = new WaveChannel32(mp3Reader);
            }
            else
            {
                throw new InvalidOperationException("Unsupported extension");
            }
            volumeStream = inputStream;
            return volumeStream;
        }

不幸的是,我总是在

line inputStream = new WaveChanne32(mp3Reader):

块引用

System.ApplicationException was unhandled
  Message=Only PCM supported
  Source=NAudio
  StackTrace:

I'm following this tutorial to play MP3 audio files with NAudio. To create the WaveStream I use this method:

private WaveStream CreateInputStream(string fileName)
        {
            WaveChannel32 inputStream;
            if (fileName.EndsWith(".mp3"))
            {
                WaveStream mp3Reader = new Mp3FileReader(fileName);
                inputStream = new WaveChannel32(mp3Reader);
            }
            else
            {
                throw new InvalidOperationException("Unsupported extension");
            }
            volumeStream = inputStream;
            return volumeStream;
        }

Unfortunately I always get an exception in the

line inputStream = new WaveChanne32(mp3Reader):

Blockquote

System.ApplicationException was unhandled
  Message=Only PCM supported
  Source=NAudio
  StackTrace:

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

街道布景 2024-10-17 03:18:39

您可以使用

var pStream = NAudio.Wave.WaveFormatConversionStream.CreatePcmStream(mp3Reader);
var inputStream = new NAudio.Wave.BlockAlignReductionStream(pStream);

You can use

var pStream = NAudio.Wave.WaveFormatConversionStream.CreatePcmStream(mp3Reader);
var inputStream = new NAudio.Wave.BlockAlignReductionStream(pStream);
徒留西风 2024-10-17 03:18:39

PCM 是一种编码类型(脉冲编码调制)。好像 NAudio 只能处理 PCM 编码的文件。

PCM is an encoding type (Pulse-code modulation). Seems like NAudio can only handle PCM encoded files.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文