Как воспроизвести / приостановить файл WAV на странице ASP
Мне нужно воспроизвести и приостановить файл.wav на странице asp.net, но я не могу использовать flash, и это должно быть самое легкое решение, которое только может быть. Я нашел способ воспроизвести звук, но не могу найти способ его остановить.
это мой код: (с элементом "embed" он не работает в IE, но с "bgsound" он не работает в Chrome)
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
var soundObject = null;
function PlaySound() {
if (soundObject != null) {
document.body.removeChild(soundObject);
soundObject = null;
}
soundObject = document.createElement("bgsound");
soundObject.setAttribute("src", "C:/sound1.wav");
soundObject.setAttribute("hidden", true);
soundObject.setAttribute("autostart", true);
document.body.appendChild(soundObject);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<input type = "button" onclick = "PlaySound()" value = "Play Sound" />
</form>
</body>
</html>
3 ответа
Это не красиво, но мне удалось прекратить звук, как это.
function StopSound()
{
if (soundObject != null) {
soundObject.setAttribute("src", "");
soundObject = null;
}
}
Вы можете сделать это, используя это пространство имен "Microsoft.DirectX.AudioVideoPlayback"
Вот пример - http://msdn.microsoft.com/en-us/library/bb324497(VS.85).aspx
Это возможно при использовании класса asp.net SoundPlayer
Страница ASPX:
<asp:Button ID="Button1" runat="server" Text="Play" />
<asp:Button ID="Button2" runat="server" Text="Pause" />
HTML-разметка, вы должны включить это для предыдущих версий,
<object data="sound1.wav"></object>
для более новой HTML5 вы можете использовать это:
<audio src="sound1.wav">
<p>Your browser does not support the audio element.</p>
</audio>
код файла:
protected void Button1_Click(object sender, EventArgs e)
{
SoundPlayer playthewavfile = new SoundPlayer(@"C:/sound1.wav");
playthewavfile.Play();
}
protected void Button2_Click(object sender, EventArgs e)
{
SoundPlayer playthewavfile = new SoundPlayer(@"C:/sound1.wav");
playthewavfile.Stop();
}
РЕДАКТИРОВАТЬ:
Если вы хотите сделать это исключительно с помощью javascript и html, попробуйте это:
Я не проверял это, так как я очень старался использовать тег embed для разбора аудио-файла с тех пор, как вышел html5, вы можете попробовать его и сообщить мне, если он работает.
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function play() {
window.document.embeds[0].Play()
window.document.embeds[1].Play()
}
function stop() {
window.document.embeds[0].Stop()
window.document.embeds[1].Stop()
}
</SCRIPT>
</HEAD>
<BODY>
<EMBED SRC="sound1.wav" NAME="video" AUTOSTART="false">
<EMBED SRC= "sound1.wav" AUTOSTART="false">
<FORM>
<INPUT TYPE="BUTTON" VALUE="Play" onClick="play()">
<INPUT TYPE="BUTTON" VALUE="Pause" onClick="stop()">
</FORM>
</BODY>
</HTML>