gpt4 book ai didi

javascript - 使用 Jquery 播放音频

转载 作者:行者123 更新时间:2023-11-28 01:40:44 26 4
gpt4 key购买 nike

我有一个小的 jQuery 函数,可以在用户单击链接时播放音频。我不需要任何控件,它们是短样本。我只想在用户点击时播放。这是应该播放的部分的 html;

    </div class="classicalRecordings">
<a href="#" class="play" data-audio-src="music/classical/open.mp3">Open song</a>
</div>

然后这是播放声音的jQuery;

        function playMusic(){
var audioElement = document.createElement('audio');
var audioElementSrc = $(this).attr('data-audio-src');
audioElement.setAttribute('src', audioElementSrc);
$.get();
audioElement.addEventListener("load", function(){
audioElement.play();
}, true);
}
$(function(){
$('.play').click(playMusic);
});

好像不行。我认为它与 src 变量有关,我不确定我是否正确地将它传递给了 audioElement。我已经使用警报进行了测试,以确保我正确地获取了 data-audio-src。感谢您的帮助。

最佳答案

我认为您正在寻找的事件是 loadeddata 事件。

    function playMusic(){
var audioElement = document.createElement('audio');
var audioElementSrc = $(this).attr('data-audio-src');
audioElement.setAttribute('src', audioElementSrc);
$.get();
// changed "load" t0 "loadeddata"
audioElement.addEventListener("loadeddata", function(){
audioElement.play();
}, true);
}
$(function(){
$('.play').click(playMusic);
});

尽管拥有静态音频元素并在用户点击时更改 src 属性可能比创建新的音频元素更好。

// example  
var audio = document.getElementsByTagName('audio')[0];
audio.addEventListener('loadeddata', function() {
this.play();
}, true);
function playMusic() {
var audioElementSrc = $(this).attr('data-audio-src');
audio.setAttribute('src', audioElementSrc);
};
$('.play').click(playMusic);

有一个框架值得一试。 ListenJS .我写的:)

关于javascript - 使用 Jquery 播放音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26243574/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com