【发布时间】:2015-09-22 19:05:50
【问题描述】:
请注意,这不是链接的其他问题的副本。这使用了我找不到的类,如下面的问题所述。
我正在尝试将 wma 文件转换为 mp3。我需要一个可以集成到我的代码库中的解决方案,而不是依赖外部资源,因此不能选择使用 ffmpeg。我一直在尝试 NAudio,但没有任何成功。
一个问题是 NAudio 似乎有两个版本,而且似乎都不完整。你从 Nuget 得到的那个不包括 WMAFileReader 类,所以没有办法(我可以看到)读取 wma 文件。 version on github 包含 WMAFileReader 类,但似乎不包含 Mp3Writer 类,也不包含我在许多示例中看到的 WaveLib 类。
那么,有谁知道我怎样才能得到可以完成这项工作的东西?我已经浪费了好几个小时尝试不同的代码示例,但它们似乎都不适用于我能找到的任何一个版本的 NAudio。
理想情况下,我想在内存中执行此操作,但如果我必须写入临时磁盘文件,这不是世界末日。
编辑 我刚刚发现有更多 NAudio nuget 包扩展了基本包。有一个用于 Lame,一个用于 WMA,但即使安装了它们,我也无法让任何代码工作。
【问题讨论】:
-
不,不是重复的。我已经看过那个页面,但正如我所提到的,它使用了我找不到的类。如果你能告诉我在哪里可以找到代码中的所有类,那么也许我们可以将其标记为重复项(尽管它仍然不会,因为该页面没有提供任何线索)。否则,我的问题仍然存在。
-
从 wma 转换为 wav,然后从 wav 转换为 mp3
-
@M.kazemAkhgary 谢谢你的建议,但我该怎么做呢?我仍然有同样的基本问题,我没有正确的类来处理同一个项目中的 wma 和 mp3 文件。即使我通过 wav,我仍然需要两组课程。
-
首先我给你一个为什么不直接将wav转换为mp3的理由。它可能,甚至更快,但通常转换器不要直接转换文件。因为有很多音频格式。您需要一堆算法来直接从每种格式转换为另一种格式。所以很难找到一种算法直接从 wma 转换为 mp3。 (但我不是说什么都没有)。它无法使用 Naudio 进行转换,因为它不支持 wma 到 wav 也不支持 wav 到 mp3。但是我阅读这篇文章会对您有所帮助。抱歉,因为我在睡觉,所以迟到了评论。