我已经编写了一个基本的SL4应用程序,可以使用CaptureSource
从麦克风捕获音频数据。麻烦的是,它是原始的PCM输出-意味着庞大而未经压缩。
考虑到我需要该应用程序在SL4环境中完全运行,如何将PCM音频数据压缩为可以更轻松地传递到远程服务器的内容?
本质上,我需要一种既可以在Windows Phone Series 7应用程序中部署/包含的解决方案,又可以在浏览器环境中使用的解决方案-我认为仅托管代码解决方案可以吗?
在交谈中,例如有人建议使用Speex和WMA,但我没有找到任何不需要引用SL4项目中无法使用的DLL的库或示例。
最佳答案
请参阅Mike Taulty博客上Silverlight 4 Rough Notes: Camera and Microphone Support中Audio recorder Silverlight 4 sample的WavFileHelper
类(比页面中间稍低,但全文值得),其中他将PCM文件压缩为WAV。
这是另一个写入WAV的示例,您可以更改诸如Mono / Stereo之类的值,这些值将直接更改WAV文件的大小:Creating Sound using MediaStreamSource in Silverlight 3 Beta。还有一个提供了有关写入WAV的更多详细信息:ojit_a
关于c# - Silverlight 4-编码来自麦克风的PCM数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2479566/