Как запустить.wav в клиенте. ASP.NET

У меня есть приложение, которое воспроизводит волновой файл, используя класс SoundPlayer. Однако, когда я публикую приложение в IIS, файл не будет воспроизводиться. Для использования класса SoundPlayer я добавил ссылку windows.dll, это может помешать?

 public void PlaySound()
    {
        try
        {
            while (1 == 1)
            {
                List<string> distinctMusic = GetMusicFile.Distinct().ToList();

                for (int i = 0; i < distinctMusic.Count; i++)
                {
                    player.SoundLocation = distinctMusic[i];
                    player.Play();
                    Thread.Sleep(GetMusicDuration[i] * 1000);
                    player.Stop();
                }
                player.Dispose();
            }
        }
        catch (Exception e)
        {
            //log.LogTxt(e.ToString());
        }
    }

Может кто-нибудь мне помочь? Спасибо!

2 ответа

Решение

Нет способа использовать C# в asp.net для воспроизведения звука на стороне клиента (за исключением Silverlight, конечно). Вам нужно использовать технологию на стороне клиента, такую ​​как javascript.

Например это:
Воспроизведение аудио с помощью Javascript?
http://www.w3schools.com/html/html_sounds.asp

<audio controls height="100" width="100">
  <source src="horse.mp3" type="audio/mpeg">
  <source src="horse.ogg" type="audio/ogg">
  <embed height="50" width="100" src="horse.mp3">
</audio>

Для воспроизведения звука на веб-странице вам потребуется либо использовать управление звуком HTML5, либо встроить управление проигрывателем Media.

Ваше направление будет работать в приложениях Windows, но не в Интернете.

Вам не нужен JavaScript, как указано в другом ответе.

http://www.w3schools.com/html/html5_audio.asp

Примечание: не все браузеры HTML5 поддерживают волновой файл (например, IE), пожалуйста, обратитесь к этой ссылке для совместимости

http://en.wikipedia.org/wiki/HTML5_Audio

Другие вопросы по тегам