3

好的,所以 Silverlight 4 添加了对从麦克风(和网络摄像头)捕获的支持,但是为了使这个工具有用(至少在我的情况下),我需要将此捕获的数据上传到服务器进行保存。

AudioCaptureDevice 将在客户端录制 PCM 音频,众所周知,PCM 不是最有效的编码......数据太大而无法上传未压缩。

理想情况下,我可以直接在客户端将此 PCM 流编码为 AAC,然后将该压缩流上传到服务器。

这个库这样的东西,可能有用。但是它不支持 AAC。

(我选择 AAC 是因为(与 MP3 不同)它是免版税编码的,并且受到流行的 PMP 设备的支持。)

关于实现这一目标的最佳方法有什么想法吗?所有选项都摆在桌面上:完全信任、Google Gears 等……

谢谢你的帮助!

4

4 回答 4

4

那里有一个名为 Speex 的音频编解码器,Alden Torres 将 SPEEX 算法移植到 C#。所以你有一个完全托管的音频编码器。这是相关的博客文章,其中他展示了如何使用 SPEEX 对来自麦克风的音频进行编码。另请阅读评论。

于 2010-02-11T23:50:57.717 回答
1

正如上面提到的答案,Speex 是一种语音编解码器,如果您想将它用于音乐,它并不适合。但是,如果您仍然对 Silverlight 上的 Speex 感兴趣,那么您应该看看NSpeex,它是 Speex 早期版本到 C# 的一个端口,它还提供了一个 Silverlight 库。

于 2010-11-09T06:53:50.140 回答
0

我需要在 Silverlight 中录制音乐(例如,从线路输入)并将其保存在服务器上。它必须质量好(不像 SPEEX)。我将尝试在客户端上使用蹩脚的编码器。它需要 p-invoke 可以访问的 lame_enc.dll。我将测试是否可以从银光中获得。你知道一些替代方案吗?也许是一个好的流服务器(wowza 有可能)?

于 2010-04-19T14:38:38.003 回答
0

您应该知道 AAC 编码也受专利限制。查看有关它的维基百科文章。如果你想要一个免费的格式,你应该看看 Vorbis 或 FLAC(或 Speex)。

如果您使用的是 Windows 7 或 Server 2008 R2 机器,则可以使用 SDK 对 AAC 进行编码 (http://msdn.microsoft.com/en-us/library/dd742785(v=VS.85) .aspx)。

另外,既然您无论如何都在强迫客户做一堆工作,为什么不在上传之前先压缩它——我不是 Silverlight 人,所以也许这不可能?

于 2010-12-03T00:02:20.587 回答