С#/ASP.NET - воспроизведение динамически созданного WAV файла при клике

63
4

Я пытаюсь воспроизвести WAV файл, который я динамически генерирую в обработчике HTTP и устанавливая свойство NavigateUrl элемента управления HyperLink:


<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, и они, похоже, работают, если у меня есть фиксированный URL-адрес WAV файла, но они не работают, если я устанавливаю URL-адрес для своего обработчика HTTP.


Любые идеи? Спасибо заранее.

спросил(а) 2021-01-19T16:38:54+03:00 6 месяцев, 1 неделя назад
1
Решение
89

Используйте HTTP-анализатор, например Fiddler или инструменты разработки браузера, такие как Firebug (или инструменты разработчика в IE), чтобы увидеть, какие HTTP-заголовки отправляются при прямом доступе к файлу WAV.


Затем имитируйте заголовки HTTP из вашего обработчика, установив их с помощью HttpResponse.AppendHeader Method. Возможно, что-то вроде этого:


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

Другим трюком, который может помочь, является создание URL-адреса, поэтому он выглядит как файл (вам не нужно это, если вы можете использовать соответствующие заголовки HTTP):


"~/ServeAudio.ashx/my.wav"

ответил(а) 2021-01-19T16:38:54+03:00 6 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема