繁体   English   中英

HTML5音频/ jQuery

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM