【问题标题】:HTML5 Audio Plays only when I step through javascriptHTML5 音频仅在我单步执行 javascript 时播放
【发布时间】:2012-10-03 18:56:10
【问题描述】:

我有一个带有标签的 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) 时,音频播放正常,但如果我不调试,则根本不会播放。我试着把调试器;在播放命令之前声明并单步执行代码,并将其放在播放命令之后 - 两者都有效。让它正常运行就不行了。

有什么想法吗??

【问题讨论】:

  • 什么浏览器正在测试这个?

标签: asp.net html audio


【解决方案1】:

我刚刚在 Fiddle 上完成了它,它对我有用。

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

【讨论】:

  • 感谢您的提示,但这在我的系统上不起作用。还有其他想法吗?
  • @user507522 我也用 netscape 和 work 进行了测试。您看到按钮下方的音频控件了吗?
  • 我在 chrome ver 23 和 firefox 16 上测试过
  • 我看到了音频控件和按钮。如果我点击音频控件本身的播放,它会播放,但如果我点击按钮,它只会在调试中播放。
  • 当你说只能在调试中工作时,这是否意味着它在其他地方发布/上传时不起作用。如果是这种情况,音频文件是否也已发布/上传?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-27
  • 2014-02-05
  • 2014-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多