纯C#开源PCM到Mp3转换器?

时间:2009-11-23 07:40:49

标签: c# open-source silverlight-4.0 mp3 pcm

Microsoft Silverlight 4处于测试阶段。它支持PCM音频输出。在互联网上传输PCM是疯狂的(对于P2P图表webApp中的ex),所以我们需要Pure C#开源PCM到Mp3转换器。没有非托管代码,没有任何内容出自.net沙箱。

那么有人知道这样的纯C#开源PCM到Mp3转换器吗?

我需要什么:

  • 用于编码的开源库。
  • 有关如何操作的教程和博客文章,等等。
BTW:为什么Pure C#? - 因为 Silverlight 4不支持非托管或不支持C#DLL。

4 个答案:

答案 0 :(得分:0)

您确定需要纯C#实现吗?您可以wrap the lame.dll然后使用它。如果您正在实时播放音频,然后将其作为mp3播放,this link可能有所帮助。

另一方面,我认为MP3不是您唯一的流媒体选择。 Silverlight应该支持WMA,并且应该a pure C# way这样做。

这是指向流式播放mp3的tutorial project的链接。

答案 1 :(得分:0)

它还不存在,它会比非托管代码慢,但您可以尝试将java ogg编码器http://downloads.xiph.org/releases/vorbis-java转换为类似Skype的Skype音频

答案 2 :(得分:0)

如果您希望在Silverlight中编码高质量的音乐级声音,我想您可能会失败,直到有人开始移植Ogg Vorbis编码器。但是如果你只是需要发声,那么Speex视频编解码器的合理端口就是名为CSpeex的纯(Silverlight)C#,发布here。它是Speex编解码器的~2003版本的Java端口的(主要是自动化的)C#端口,但我已经使它工作了。当然,它只是将音频流式传输到服务器(和向下)的解决方案的一部分,但它可以说是最困难的部分。

然而,对于任何C#回音消除都没有乐趣。 。 。直到某人勇敢并将Speex DSP库移植到C#: - )。

答案 3 :(得分:-1)

mp3不是免费的编解码器。试着寻找Ogg,你有更好的机会在那里找到一个开源的。

此外,编解码器翻译很少在托管代码中,因为它们需要高效率,因为它是一项CPU密集型任务,因此转到本机dll会快得多。 (对于不同级别的很多)。如果你找到了你想要的东西,它会很慢并且可能违反了弗劳恩霍夫的版权。

谷歌的两秒钟显示了一个使用原生dll mp3编码器的c#示例: http://www.codeproject.com/KB/audio-video/MP3Compressor.aspx

谷歌的三秒钟没有产生任何ogg编码器。这些东西在托管代码中很少见。