Javascript音频播放Chrome问题

时间:2013-12-30 17:13:10

标签: javascript jquery html google-chrome

我有一个非常奇怪的问题,试图了解发生了什么。 这是我的网站:

www.rudybabaians.com

单击第一个播放按钮时,在“我的音乐”下

,播放音乐,一切正常如预期。

只有当我尝试在不同标签上打开网站时才会出现问题。 首先,此症状仅发生在Chrome中。我既没有使用IE也没有使用FireFox这个问题。

以下是症状:

当我在新标签页(“第一个”标签页)上打开我的网站,然后播放音乐(甚至一秒钟)时,一切都会好起来的。这意味着当我继续在“第二个”选项卡上打开我的网站时,它将正常工作。现在,当我点击“第二个”选项卡上的播放按钮播放曲目(即使一秒就足够了),那么它将再次没问题。这意味着当我继续在“第三个”选项卡上打开我的网站时,它将正常工作。 问题 ONLY 表现出来,如果我在新标签页上打开我的网站,然后没有播放音乐(不点击播放按钮),请打开我的网站“第二个“标签。这次它将工作。 但是奇怪的,它将在一个条件下开始工作,那就是当我回到“第一个”打开的标签,然后在那里播放音乐(不是整个音轨,只需一秒钟即可)。然后回到“第二个”选项卡,当我点击播放按钮时,这次会有效吗?!? 似乎某个方式的轨道被网站的第二个实例打开了。 看起来这两个网站都试图访问同一个对象,它变得混乱! 知道如何解决这个问题,或者发生了什么?更具体地说,为什么它只发生在Chrome中?

我使用的代码就是这样:

在index.html中:

<audio id="audio1"><source src="sounds/audio.ogg" type="audio/ogg" /><source src="sounds/audio.mp3" type="audio/mpeg" />Your browser does not support the audio element.</audio>

而且,在JavaScript中,在“就绪”功能中,我这样做:

$(document).ready(function(){     
...
        var audioElement = document.getElementById("audio1");
...    
}

然后,我想也许我需要定义一个新的Audio对象实例,并尝试使用以下代码行的不同组合:

var audioElement = new Audio();
audioElement = document.getElementById("audio1");
audioElement.setAttribute('src', 'sounds/audio.ogg');
audioElement.load();

但是使用上面的代码行,但它再次没有用。

有任何建议如何解决吗?

谢谢, --Rudy

0 个答案:

没有答案
相关问题