0

我正在开发一个将流式音频录制到 MP3 的 C# 应用程序。

我是新手,但就我目前所见,最简单的方法是使用 NAudio 录制到 WAV,然后使用 LameMP3FileWriter 或 MediaFoundationEncoder 创建 MP3 版本。

但是,我在转换时遇到了问题,因为我的 PC 音响系统是 5.1 并且 MP3 转换由于录制的 WAV 文件中的通道数而崩溃。当我将音响系统重新配置为立体声时,它工作正常,但这有点痛苦;首先,这意味着我在录制音乐时无法使用我的 5.1 系统,但更多的是一个问题,由于某种我无法弄清楚的原因,如果我将扬声器设置为立体声,它们会在 PC(Windows 10)重新启动时恢复为四声道!

谁能建议我如何在不需要配置我的 5.1 声音的情况下进行这种转换?

一个明显的解决方案是在转换为 MP3 之前将 WAV 文件重新采样到 2 个通道,但这似乎是一种“长捷径”。我也不清楚首先录制到 WAV 的优势 - 音频流被压缩并且不太可能有超过 2 个通道开始所以播放超过 5.1,无论它听起来多么好,真的有点虚幻。

将流直接录制到 MP3 似乎更明智,但我找不到任何直接的方法。

4

1 回答 1

3

Mp3 规范不处理 5.1。所以看起来你的 mp3 编码器在 5.1 中失败了。

也许您可以尝试支持 MP3 Surround 的编码器,这是 5.1 的 mp3 扩展。

另外,也许您应该考虑使用 AAC encondig,这是一种更友好的 5.1 编解码器。

于 2018-09-23T21:42:30.283 回答