Microsoft Silverlight 4处于测试阶段。它支持PCM音频输出。在互联网上传输PCM是疯狂的(对于P2P图表webApp中的ex),所以我们需要Pure C#开源PCM到Mp3转换器。没有非托管代码,没有任何内容出自.net沙箱。
那么有人知道这样的纯C#开源PCM到Mp3转换器吗?
我需要什么:
答案 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编码器。这些东西在托管代码中很少见。