Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript/jquery在不同的幻灯片中播放不同的音频?_Javascript_Jquery_Html_Audio - Fatal编程技术网

如何使用javascript/jquery在不同的幻灯片中播放不同的音频?

如何使用javascript/jquery在不同的幻灯片中播放不同的音频?,javascript,jquery,html,audio,Javascript,Jquery,Html,Audio,我正在尝试建立一个类似幻灯片的项目。我使用的是jquery插件和Popcorn.js。我的项目有一些幻灯片,每个幻灯片(几乎所有幻灯片)都有和音频标签(所有音频标签都不同)。我想在每个幻灯片加载结束时播放音频。FerroSlider提供了一个事件“endslie”和一个返回当前div的函数($.fn.FerroSlider.getActualSlideId())。我可以获取当前音频id,但无法播放它。。。 任何帮助都将不胜感激。谢谢大家 $(document).ready(function()

我正在尝试建立一个类似幻灯片的项目。我使用的是jquery插件和Popcorn.js。我的项目有一些幻灯片,每个幻灯片(几乎所有幻灯片)都有和音频标签(所有音频标签都不同)。我想在每个幻灯片加载结束时播放音频。FerroSlider提供了一个事件“endslie”和一个返回当前div的函数($.fn.FerroSlider.getActualSlideId())。我可以获取当前音频id,但无法播放它。。。 任何帮助都将不胜感激。谢谢大家

$(document).ready(function() {

    $(document).bind("endslide", function(){
          var slideactual=$.fn.ferroSlider.getActualSlideId();
          var audioactual=[];



          $(slideactual).find("audio").each(function(){audioactual.push(this.id);});
          if($(slideactual).children('audio').length>0){
          alert(audioactual);
         }

        });

一旦你有了音频元素。您可以使用音频标签的内置功能播放音频。有一个在线事件监听器。这将在音频加载后立即播放,您甚至可以添加暂停和播放按钮

<script>
    $(document).ready(function() {
        var audioElement = $(audioactual);

        audioElement.addEventListener("load", function() {
            audioElement.play();
        }, true);

        $('.play').unbind('click').click(function() {
            audioElement.play();
        });

        $('.pause').unbind('click').click(function() {
            audioElement.pause();
        });
    });
</script>     

$(文档).ready(函数(){
var audioElement=$(audioactual);
audioElement.addEventListener(“加载”,函数(){
audioElement.play();
},对);
$('.play')。解除绑定('click')。单击(函数(){
audioElement.play();
});
$('.pause')。解除绑定('click')。单击(函数(){
audioElement.pause();
});
});

将此代码(在DocumentReady中)添加到回调函数中,音频将在加载时播放。它将绑定

Thanxs以便于您快速回答,但它不起作用。我的div在按键下滑动(对不起,我以前可能应该这么说)。无论如何,我已经尝试了你的代码,音频(不是所有幻灯片都有音频)不播放。我的第一个建议是使用自动播放:如果正在播放的div有音频,则在幻灯片(div)加载后立即自动播放它。。。我很困惑!!!!:-)。再次将audioElement.play()绑定到keydown.audioElement.addEventListener(“load”,function(){audioElement.play();},true);这应该在音频加载后立即生效。我不确定是否需要将其绑定到keydown(尽管我已经尝试过,thanx),因为我正在使用“endslide”事件。我尝试做的是:当幻灯片加载(“endslide”)时,如果该幻灯片有音频标签(这就是我创建audioactual var的原因),播放它。endslide事件在按下键时触发(当幻灯片放映在按下键时运行)。可能问题是audioactual会返回当前幻灯片中的音频id(“audio1_1”,例如,而不是“#audio1_1”)。。。