2

我在我的网站上设置了一些 HTML 音频,并在几秒钟后设置了自动播放功能,但是声音似乎加载了两次?一个开始直接玩另一个虽然,一个是鬼,看不到玩家。

如果已经有声音播放,我怎么能告诉javascript不要开始播放声音?

<audio controls="controls" onloadeddata="var audioPlayer = this; setTimeout(function() { audioPlayer.play(); }, 2000)" }>
    <source src="http://www.alanis50.com/Music/music.mp3" type="audio/mp3"/>
    <source src="http://www.alanis50.com/Music/music.ogg" type="audio/ogg"/>
</audio>

上述问题已解决,但我想为 Internet Explorer 添加此音频的 Flash 后备,因此添加了:

<div id ="audio">

<script>var readingMusic = false; </script>
<audio controls="controls" loop="loop" onloadeddata="var audioPlayer = this; if (!readingMusic){readingMusic = true;setTimeout(function() { audioPlayer.play(); }, 2000)}" }>
    <source src="http://www.alanis50.com/Music/music.mp3" type="audio/mp3"/>
    <source src="http://www.alanis50.com/Music/music.ogg" type="audio/ogg"/>
    <embed type="application/x-shockwave-flash" flashvars="audioUrl=http://www.alanis50.com/Music/music.mp3&autoPlay=true" src="http://www.google.com/reader/ui/3523697345-audio-player.swf" width="400" height="27" quality="best" wmode="transparent"></embed>
</audio>
</div>

<div id="audiohide">
<audio controls="controls" loop="loop" onloadeddata="var audioPlayer = this; if (!readingMusic){readingMusic = true;setTimeout(function() { audioPlayer.play(); }, 2000)}" }>
    <source src="http://www.alanis50.com/Music/music.mp3" type="audio/mp3"/>
    <source src="http://www.alanis50.com/Music/music.ogg" type="audio/ogg"/>
    <embed type="application/x-shockwave-flash" flashvars="audioUrl=http://www.alanis50.com/Music/music.mp3&autoPlay=true" src="http://www.google.com/reader/ui/3523697345-audio-player.swf" width="400" height="27" quality="best" wmode="transparent"></embed>
</audio>

</div>

但是现在 Flash 音频的表现如何,以前的音频显然 javascript 没有影响 Flash 嵌入?

4

2 回答 2

1

如果已经有一些音乐在播放,你不能有一个布尔值告诉浏览器吗?

带有 2 个标签的示例:

<script>var readingMusic = false; </script>
<audio controls="controls" onloadeddata="var audioPlayer = this; if (!readingMusic){readingMusic = true;setTimeout(function() { audioPlayer.play(); }, 2000)}" }>
    <source src="http://www.alanis50.com/Music/music.mp3" type="audio/mp3"/>
    <source src="http://www.alanis50.com/Music/music.ogg" type="audio/ogg"/>
</audio>

<audio controls="controls" onloadeddata="var audioPlayer = this; if (!readingMusic){readingMusic = true;setTimeout(function() { audioPlayer.play(); }, 2000)}" }>
    <source src="http://www.alanis50.com/Music/music.mp3" type="audio/mp3"/>
    <source src="http://www.alanis50.com/Music/music.ogg" type="audio/ogg"/>
</audio>
于 2013-04-18T08:39:34.910 回答
0

嗯,这是你的jScript.js的一部分。

似乎问题出在这一行:

location = base + "/#" + current.replace(base, "");

您在不离开当前页面的情况下导航到新网址(如果来源相同并且唯一的区别在于哈希值)。我建议您在更改位置来源后开始播放音频。

因此,您可以在此位置更改后立即放置自动播放逻辑。

于 2013-04-18T08:51:42.870 回答