Как запустить.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), пожалуйста, обратитесь к этой ссылке для совместимости