2011-06-17 62 views
1

我一直在研究即将到来的项目,并会欣赏一些堆栈反馈。我需要为我们的CSR创建一个Intranet站点,让他们听取保存在我们数据库中的每日客户记录(Cisco电话系统以byte []形式插入.wav文件)。有十几个节目,每天都会打一打电话,每个电话有五六个短的客户录音(客户在说他们的名字,姓氏等等)。字节[]音频在ASP.NET MVC网站

我正在考虑利用这个机会来构建我的第一个ASP.NET MVC。创建访问数据库的站点很容易,但我找不到任何在MVC网站上显示音频的好例子。我想过关于Silverlight路线,但唯一可能的方式是如果这些文件是我不确定的PCM。所以后来我考虑使用文件处理程序来检索文件,然后使用html 5标签来显示它们(并告诉CSR更新他们该死的浏览器)。它只需要为他们播放消息,所以不需要操纵。

想到什么想法或例子吗?

回答

1

这似乎是一个足够简单的方法。

也许这样的事情在你的控制器:

public ActionResult LoadAudio(int id) { 
    var audioBytes = db.Messages.Where(w => w.Id == id).Single(); 
    return base.File(audioBytes, "audio/wav"); 
} 

并在视图:

@foreach (var msg in Model.Messages) { 
    <audio controls src="@Url.Action("LoadAudio", new { id = msg.Id })") /> 
} 
+0

我想实现这一点,但我有与base.File回报难度。我正在用我的linq语句访问正确的byte [],但它看起来并不是正确的格式。 – 2011-06-17 18:37:33