簡體   English   中英

如何在Silverlight應用程序中將byte []保存為WAV文件?

[英]How to save byte[] as wav file in silverlight application?

在我的MVC應用程序中,我添加了Silverlight錄音機。 該記錄器using System.Windows.Media;記錄音頻using System.Windows.Media; 命名空間為byte[] ,代表wav文件。

現在,我需要將此byte[]作為.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 Action中獲取此數據?

Silverlight正在客戶端運行,您的MVC代碼在服務器端運行,因此在當前情況下這是行不通的。

我建議使用Web服務將數據發送回服務器以進行保存。

看一下使用WCFWebAPI來啟動並運行它。

如果您真的想變得復雜,還可以使用SignalR之類的東西來讓客戶端/服務器(本質上就是這種設置)彼此之間進行通信並通過該接口發送數據。 雖然這似乎有點矯kill過正。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM