2

我需要在 asp.net 页面上播放和暂停一个 .wav 文件,但我不能使用 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>
4

3 回答 3

3

您可以使用此命名空间“Microsoft.DirectX.AudioVideoPlayback”来执行此操作

这里,一个例子——http: //msdn.microsoft.com/en-us/library/bb324497 (VS.85).aspx

于 2013-10-14T05:07:19.007 回答
1

这可以使用 asp.net SoundPlayer 类

页面:

  <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来执行此操作,请尝试以下操作:

我没有对此进行测试,因为自从 html5 出现以来,我对使用 embed 标记解析音频文件非常生疏,您可以尝试一下,让我知道它是否有效。

<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>
于 2013-04-09T18:14:08.293 回答
0

这不漂亮,但我设法终止了这样的声音。

function StopSound()
        {
             if (soundObject != null) {

                soundObject.setAttribute("src", "");
                soundObject = null;

            }
        }
于 2013-04-11T15:04:26.477 回答