[英]HTML5 audio/jQuery
开始进行一些研究,以便为网站创建一个非常简单的媒体部分,但我似乎遇到了一些问题。 我将尽我所能解释。
我有一个由“链接”(li元素atm)组成的“播放列表”,该列表利用aJax / PHP将数据提取并加载到音频元素中。 我可以很好地提取数据,那里没有问题。
但是,当用户选择“曲目”时,就会出现我的问题。
预期的歌曲播放没有问题,但是,如果用户选择同一首歌曲或另一首歌曲,则第一首“曲目”会继续播放,而“新选择的”曲目会开始播放。 我基本上可以同时播放10多个曲目,这很烦人。
我试图停止播放第一首歌曲-我销毁音频标签或其他方法-并在用户选择其他“曲目”时播放较新选择的歌曲
我想我可能会理解问题,我会不断创建音频元素的新实例,而不会破坏初始实例。 因此,我们想知道寻找音频的任何先前出现的最佳方法,并在检测到该音频时销毁该实例并创建一个新实例。
以下是我正在测试的一些代码,当前,一旦aJax回调=成功,此脚本就会运行。
--COMMENTS下面的代码在jQuery音频中= HTML5音频实例arydata =包含来自PHP脚本的数据的数组--COMMENTS
我在想,我需要在运行以下代码之前添加一些代码,以验证是否有任何现有的音频元素,但是我不确定这是否是最佳方法。
var audio = new Audio();
audio.src = arydata[1] + ".mp3";
audio.load();
audio.play();
让我知道是否还有其他需要。
找到了解决方案。
每当用户选择曲目时,我都会错误地创建一个新的Audio实例。
因此,为了解决此问题,我改为在脚本加载时创建了Audio实例。 然后,一旦用户选择了一个曲目,我便找到Audio实例并将数据加载到该实例。
下面是代码。
var audio = new Audio();
$("#media_player_playlist_wrapper li").click(function(){
var player = $(audio).get(0);
player.src = filepath;
player.load();
player.play();
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.