我正在尝试在.NET2.0下找到在VB.Net中播放MP3文件的最佳方法。我还需要支持.NET Compact 3.5和Mono。我已经尝试了NAudio,我可以在.NET2.0(有点)中工作,我怀疑它也可以在.NET Compact中工作。
任何人对我可能实现的其他方式有任何建议吗?具体来说,我希望将几个MP3文件连接到一个MemoryStream中并播放它们而无需写入磁盘。 我已经完成了加入位,它正在寻找帮助的MemoryStream的播放。
任何帮助表示感谢。
由于
答案 0 :(得分:1)
GStreamer是不错的选择,它是一个跨平台的多媒体框架。并且有一些符合您需求的绑定:通过.NET API访问您需要的信息(视频文件的长度):GStreamerSharp。
实际上,我们实际上在Banshee Project中使用它,这是一个用C#编写的媒体播放器(大约一年半前是Ubuntu捆绑的默认音乐播放器)。
BTW,GStreamer的构建方式是编解码器是插件,所以你可以在它们的内部(即ffmpeg)之间进行抽象,其他插件可以根据你的许可/格式需求来实现。答案 1 :(得分:0)
我写了一个MP3解码器和播放器,完全使用VB.NET,它的唯一依赖是SlimDX,它被用作DirectSound的包装器。
解码器解码MP3文件并将未压缩的音频流写入DirectSound缓冲区进行播放。此外,解码器被编译为DLL,以便可以在任意数量的项目中轻松重用。
您可以从以下博文中下载源代码:vbNetMP3Player
该项目的目标是.NET 4.0,但它适用于.NET 3.5,可能还有.NET 2.0 至于Mono支持,我还没有测试过,但我不明白为什么它不起作用。
希望这会有所帮助......
答案 2 :(得分:0)
我遇到了同样的问题,并寻找了许多替代品。然后我找到了BASS。它很容易使用,但你几乎可以做任何事情。它的.NET包装程序BASS .NET包含一个非常好的文档和VB和C#的每个函数的示例。他们还有一个非常积极和支持的论坛。我曾经发现一个错误并在论坛上报道,然后他们在一天内给了我固定版本......