如何在jquery中使用音频标签自动播放音乐?

时间:2018-05-28 12:05:24

标签: javascript jquery html audio

我想在jquery中自动播放一个mp3文件

我使用了这段代码,

function musicStart() {
  pop = window.open('', 'back__music', 'width=100,height=100', true);
  pop.document.write('<audio controls autoplay loop><source 
  src="./music.mp3"/></audio>');
}

循环正在工作, 但是自动播放不是。

当我将autoplay="true"autoplay="1"autoplay="autoplay"添加到音频标记时,结果是相同的。

或者当我使用embed标签时,它不会重复播放音乐。

我不在乎使用音频标签或嵌入标签

我该怎么办?

3 个答案:

答案 0 :(得分:0)

$('audio')[0].play();(假设您的网页中只有一个audio)应该可以胜任。

一个基本的例子:

&#13;
&#13;
$('audio')[0].play();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<audio controls>
<source src="http://media.w3.org/2010/07/bunny/04-Death_Becomes_Fur.mp4" type='audio/mp4'></audio>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

在jQuery中,你可以实现:

&#13;
&#13;
$('.music').html('<audio controls autoplay> <source src="http://media.w3.org/2010/07/bunny/04-Death_Becomes_Fur.mp4"  type="audio/mpeg"> </audio>');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="music">

</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

我知道解决方案!

我解决了这个问题,如果有人像我这样有问题,请跟我来。

首先,在此处输入链接〜chrome://flags/#autoplay-policy,然后从默认设置检查无需用户手势

之后,改变你的代码

function musicStart() {
    pop = window.open('', 'back__music', 'width=100,height=100', true);
    if (back__music.location.href === 'about:blank') {
        pop.document.write('<audio controls autoplay loop><source src="./music.mp3" type="audio/mp3"/></audio>');
    }
}

我希望与你同在:)