C#/ ASP.NET - 在客户端点击时播放动态生成的WAV文件

时间:2010-12-30 17:12:25

标签: c# asp.net

我正在尝试播放一个WAV文件,我在HTTP处理程序中动态生成并设置HyperLink控件的NavigateUrl属性:

<asp:HyperLink runat="server" NavigateUrl="~/ServeAudio.ashx" Text="Play Sound" ImageUrl="~/images/speaker_louder_32.png"
                        ToolTip="Play Sound"></asp:HyperLink>

但是当我点击该链接时,它会打开Windows Media Player - 我不希望这样。我只想播放声音。

我也尝试过使用一些jQuery插件,如果我有一个固定的WAV文件URL,它们似乎可行,但如果我将URL设置为我的HTTP处理程序,它们就不起作用。

有什么想法吗?提前谢谢。

1 个答案:

答案 0 :(得分:3)

使用像Fiddler这样的HTTP分析器或浏览器开发工具(如Firebug(或IE上的开发工具))来查看直接访问WAV文件时发送的HTTP标头。

然后通过使用HttpResponse.AppendHeader Method设置HTTP标头来模拟处理程序中的HTTP标头。可能是这样的:

Response.AppendHeader("Content-Type", "audio/x-wav");

另一个可能有用的技巧是制作网址,因此它看起来像一个文件(如果你可以使用适当的HTTP标头,你不应该这样做):

"~/ServeAudio.ashx/my.wav"