3

我有一个带有标签的 asp.net 页面。如果我启用控件 (controls="controls") 我可以播放分配给标签的音频。我只想显示我自己的按钮来播放音频,所以我添加了一个带有 javascript 函数的简单 html 按钮来点击 .play 方法:

<button id="LeftAudio" class="Audio" onclick="playAudio1()"></button>

function playAudio1() {
    // Check for audio element support.
    if (window.HTMLAudioElement) {
        try {
            //debugger;
            var oAudio = document.getElementById('dnn_ctr<%=ModuleId.ToString(CultureInfo.InvariantCulture) %>_ViewUFL_Book_audio1');
            oAudio.volume = 1.0;
            // Tests the paused attribute and set state. 
            if (oAudio.paused) {
                oAudio.play();
                debugger;
            }
            else {
                oAudio.pause();
            }
        }
        catch (e) {
            // Fail silently but show in F12 developer tools console
            if (window.console && console.error("Error:" + e));
        }
    }
}

当我单步执行 javascript (Chrome/Windows) 时,音频播放正常,但如果我不调试,则根本不会播放。我试着把调试器;在播放命令之前声明并单步执行代码,并将其放在播放命令之后 - 两者都有效。如果我让它正常运行,它就不起作用。

有任何想法吗??

4

1 回答 1

0

我刚刚在 Fiddle 上做到了,它对我有用。

这是对 Fiddle 的测试:http: //jsfiddle.net/jwCXV/4/

于 2012-10-12T22:51:44.250 回答