我使用silverligh4录制了音频,并试图通过服务器上的服务保存它。 记录的问题.WAV文件中有数据流为数据流。但是,当这个流被传递时,它只能以1526字节的最大值传输。我在web.config中设置了最大属性。我认为我们需要在客户端对流进行编码,并传递这个编码流并在服务器上解码。如何在sileverlight上编码音频流 应用程序并在服务器上解码它?请指教我。谢谢你的时间。 Nspeex或CSpeex不适用于我。如果有人实施了同样的建议,请告诉我们该怎么做?如何在Silverlight中压缩语音流
0
A
回答
1
将WAV压缩到任何合理大小(无交易质量)的唯一方法是将其转换为另一种格式。
我不知道这是否是您的选择,但在发送到服务器之前使用lame.exe转换为MP3非常容易。当然,您需要确保授权允许您随应用程序分发。
这里是一个开放源码的程序,MP3转换为WAV: http://www.codeproject.com/KB/audio-video/madlldlib.aspx
像这样的东西转换成MP3,你也许可以转换成MP3与跛脚也使用--decompress选项为WAV。
using System.Diagnostics;
public string WAV2MP3(string fileName, bool waitFlag) {
string newFileName = fullpathDir + fileName.Replace(".wav",".mp3");
string lameArgs = "-b 32 --resample 22.05 -m m \"" +
fullpathDir + fileName + "\" \"" +
newFileName + "\"";
ProcessStartInfo processInfo = new ProcessStartInfo();
Arguments = lameArgs;
WindowStyle = ProcessWindowStyle.Hidden;
WorkingDirectory = Application.StartupPath;
Process startedProcess = new Process.Start(processInfo);
if (waitFlag) {
startedProcess.WaitForExit();
}
return newFileName;
};
0
我可能只是采取原始音频流,以低速率采样,并通过压缩流发送出去。如果你想变得有趣,你可以把压缩变成像LAME这样的MP3编码器(在一个单独的线程/进程中!)。
相关问题
- 1. Silverlight 4的音频压缩
- 2. 在Silverlight中压缩内存流
- 3. 为silverlight解压缩gzip流
- 4. 如何压缩流?
- 5. 用MP3压缩语音
- 6. 在C中解压缩流#
- 7. 如何在读取压缩流时“解压缩”
- 8. 使用MATLAB代码的音频或语音压缩和解压缩技术
- 9. Silverlight中的加密/压缩
- 10. 使用什么语音压缩算法?
- 11. IOS音频压缩
- 12. 压缩和解压流
- 13. node.js如何流化22GB gzip压缩文件解压缩
- 14. 压缩流的能力如何影响压缩算法?
- 15. 在silverlight中解压缩zip文件
- 16. 解压缩GZIP流
- 17. 流的Delta压缩
- 18. 在android中的音频压缩
- 19. 如何在Silverlight中压缩捕获的视频?
- 20. 如何压缩流csv文件PHP
- 21. 如何解压/放缩PDF流
- 22. WCF Webservice和Silverlight压缩
- 23. 流式音频中的降噪和压缩
- 24. 如何压缩在asp.net数据,并在JavaScript中解压缩
- 25. 降低音频压缩率
- 26. 声音压缩书籍
- 27. 压缩音频编码
- 28. 如何使用zlib在ruby中实时压缩文件流
- 29. 如何将压缩声音文件转换为解压缩文件
- 30. 如何使用ffmpeg解压缩压缩类型的音频文件?
你不会得到任何压缩在1526字节以下的WAV文件...你应该找出服务器有什么问题。 – cdhowie 2010-12-09 14:13:58