C# 如何在silverlight应用程序中将字节[]保存为wav文件?
在我的MVC应用程序中,我添加了一个Silverlight音频记录器。此录音机使用System.Windows.Media录制音频C# 如何在silverlight应用程序中将字节[]保存为wav文件?,c#,file,silverlight,audio,save,C#,File,Silverlight,Audio,Save,在我的MVC应用程序中,我添加了一个Silverlight音频记录器。此录音机使用System.Windows.Media录制音频命名空间为表示wav文件的字节[] 现在我需要将这个字节[]保存为.wav文件在本地磁盘(服务器)上 到目前为止,我已经尝试了以下方法: byte[] audioData; // Here I contain my data System.IO.File.WriteAllBytes(@"C:\Temp\yourfile.wav", this.audioDa
代码>命名空间为表示wav文件的字节[]
现在我需要将这个字节[]
保存为.wav
文件在本地磁盘(服务器)上
到目前为止,我已经尝试了以下方法:
byte[] audioData; // Here I contain my data
System.IO.File.WriteAllBytes(@"C:\Temp\yourfile.wav", this.audioData); // Doesn't work
BinaryWriter Writer = null;
string name = @"C:\Temp\yourfile.wav";
try
{
Writer = new BinaryWriter(File.OpenWrite(name));
Writer.Write(this.audioData);
Writer.Flush();
Writer.Close();
}
catch
{
...
}
但对我来说没什么用。。。我做错了什么
嗯。假设我可以将数据作为json字符串发送到控制器:
WebClient net = new WebClient();
string data = UTF8Encoding.UTF8.GetString(this.audioData, 0, this.audioData.Length);
net.UploadStringAsync(new Uri("/Home/SaveFile", UriKind.Relative), data);
如何在MVC操作中获取这些数据?Silverlight正在运行客户端,您的MVC代码是服务器端的,因此在当前的情况下无法工作
我建议使用web服务将数据发送回服务器以保存数据
看一看如何使用它,或者是如何开始使用它
如果你真的想让事情变得复杂,你也可以使用一些东西,比如让客户机/服务器(本质上就是这个设置)互相发送通信,然后通过它将数据发送回来。虽然这看起来有点过分了