Как воспроизвести / приостановить файл 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>
Другие вопросы по тегам