2010-12-30 1 views
1

に動的に生成されたWAVファイルを再生し、私はHTTPハンドラ内で動的に生成するWAVファイルを再生しようとHyperLinkコントロールのNavigateUrlプロパティを設定しています:C#/ ASP.NET - クライアントクリック

<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を持っていても動作していますが、HTTPハンドラにURLを設定すると動作しません。

アイデア?前もって感謝します。

答えて

3

FiddlerのようなHTTPアナライザー、またはFirebug(IEの開発ツール)などのブラウザー開発ツールを使用して、WAVファイルに直接アクセスするときに送信されるHTTPヘッダーを確認します。

次に、HttpResponse.AppendHeader Methodを使用してハンドラのHTTPヘッダーを模倣します。おそらくこのような何か:

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

役立つかもしれないもう一つのトリックは、URLを作ることですので、それはファイル(あなたが適切なHTTPヘッダーを使用することができます場合は、これを必要はありません)のようになります。

"~/ServeAudio.ashx/my.wav" 
+1

マクスウェルありがとう!あなたの2番目の提案がトリックでした! 私は既にコンテンツヘッダーを追加していましたが、まだ動作していませんでした。しかし、URL内の.WAVファイルを偽装するだけで動作するようです。 興味のある方は - このjQueryプラグインを使用してWAVファイルを再生しました:http://plugins.jquery.com/project/sound_plugin – Ambuj