Php 如果选择了一个播放器,如何停止所有音频播放器的播放?

Php 如果选择了一个播放器,如何停止所有音频播放器的播放?,php,javascript,jquery,html,jplayer,Php,Javascript,Jquery,Html,Jplayer,我这里有一个演示: 在演示中,我有2个问题,在这些问题中,它包含jplayer音频播放器,其中播放属于每个问题的音频 所以在演示问题1中有2段音频,所以为什么问题1有2个音频播放器,每个播放器一个音频文件。在问题2中,它有一个音频播放器,因为它只包含一个音频文件。现在,下面的代码显示了这一点,如果问题没有音频文件,则为每个音频文件显示一个空白的else display audio PLAYER 唯一的问题是,若你们点击一个音频播放器,那个么所有的音频播放器都在播放,播放他们的文件。我想要的是,如

我这里有一个演示:

在演示中,我有2个问题,在这些问题中,它包含jplayer音频播放器,其中播放属于每个问题的音频

所以在演示问题1中有2段音频,所以为什么问题1有2个音频播放器,每个播放器一个音频文件。在问题2中,它有一个音频播放器,因为它只包含一个音频文件。现在,下面的代码显示了这一点,如果问题没有音频文件,则为每个音频文件显示一个空白的else display audio PLAYER

唯一的问题是,若你们点击一个音频播放器,那个么所有的音频播放器都在播放,播放他们的文件。我想要的是,如果用户使用音频播放器,则只应播放属于该音频播放器的音频文件,仅此而已。这与其他控件相同,如果用户使用音频播放器中的控件,则它仅控制该音频播放器

但是我需要做什么来解决这个问题呢

代码如下:

<?php

foreach ($arrQuestionId as $key=>$question) {

?>

<div class='lt-container'>
<p><?php echo htmlspecialchars($arrQuestionNo[$key]) . ": " .  htmlspecialchars($arrQuestionContent[$key]); ?></p>

<?php

        //start:procedure audio
        $aud_result = '';
        if(empty($arrAudioFile[$key])){
          $aud_result = '&nbsp;';
        }else{

$j = 0;
foreach ($arrAudioFile[$key] as $a) { 

        $info = pathinfo('AudioFiles/'.$a); 
?>

<script type="text/javascript">   
    $(document).ready(function(){
  $("#jquery_jplayer_1-<?php echo $key.'-'.$j; ?>").jPlayer({
    ready: function () {
      $(this).jPlayer("setMedia", {
        <?php echo $info['extension'];?>: "<?php echo "AudioFiles/".$a; ?>"
      });
    },
    solution:"flash,html",
    swfPath: "jquery",
    supplied: "<?php echo $info['extension'];?>"
  });
}); 
</script>
  <div id="jquery_jplayer_1-<?php echo $key.'-'.$j; ?>" class="jp-jplayer"></div>
  <div id="jp_container_1" class="jp-audio">
    <div class="jp-type-single">
      <div class="jp-gui jp-interface">
        <ul class="jp-controls">
          <li><a href="javascript:;" class="jp-play" tabindex="1">play</a></li>
          <li><a href="javascript:;" class="jp-pause" tabindex="1">pause</a></li>
          <li><a href="javascript:;" class="jp-stop" tabindex="1">stop</a></li>
          <li><a href="javascript:;" class="jp-mute" tabindex="1" title="mute">mute</a></li>
          <li><a href="javascript:;" class="jp-unmute" tabindex="1" title="unmute">unmute</a></li>
          <li><a href="javascript:;" class="jp-volume-max" tabindex="1" title="max volume">max volume</a></li>
        </ul>
        <div class="jp-progress">
          <div class="jp-seek-bar">
            <div class="jp-play-bar"></div>
          </div>
        </div>
        <div class="jp-volume-bar">
          <div class="jp-volume-bar-value"></div>
        </div>
        <div class="jp-time-holder">
          <div class="jp-current-time"></div>
          <div class="jp-duration"></div>
          <ul class="jp-toggles">
            <li><a href="javascript:;" class="jp-repeat" tabindex="1" title="repeat">repeat</a></li>
            <li><a href="javascript:;" class="jp-repeat-off" tabindex="1" title="repeat off">repeat off</a></li>
          </ul>
        </div>
      </div>
    </div>
  </div>
<?php $j++; 
}

}
//end:procedure audio
?>

</div>


<?php

}

?>

$(文档).ready(函数(){ $(“#jquery_jplayer_1-”).jplayer({ 就绪:函数(){ $(this).jPlayer(“setMedia”{ : "" }); }, 解决方案:“flash,html”, swfPath:“jquery”, 提供:“” }); }); : "" }); }, $(this).bind($.jPlayer.event.play,function(){//此处出错 $(this.jPlayer(“pauseOthers”); }, 解决方案:“flash,html”, swfPath:“jquery”, 提供:“” });

上面的代码给了我这个错误:缺少:在属性列表之后,我们在最近的一个项目中遇到了这个问题。请参阅此jPlayer演示:

根据该页面,“使用了额外的$.jPlayer.event.play事件处理程序来避免jPlayers一起玩。”

在jPlayer属性中添加play函数,如下所示:

  $("#jquery_jplayer_1-<?php echo $key.'-'.$j; ?>").jPlayer({
    ready: function () {
      $(this).jPlayer("setMedia", {
        <?php echo $info['extension'];?>: "<?php echo "AudioFiles/".$a; ?>"
      });
    },
    play: function() { // To avoid both jPlayers playing together.
      $(this).jPlayer("pauseOthers");
    },
    solution:"flash,html",
    swfPath: "jquery",
    supplied: "<?php echo $info['extension'];?>"
  });
$(“#jquery_jplayer_1-”).jplayer({
就绪:函数(){
$(this).jPlayer(“setMedia”{
: ""
});
},
play:function(){//以避免两个层同时播放。
$(this.jPlayer(“pauseOthers”);
},
解决方案:“flash,html”,
swfPath:“jquery”,
提供:“”
});

所以我需要在代码中包含
$.jPlayer.event.play
?如果是这样的话,我应该把它放在哪里?只要把它作为jPlayer属性之一添加就行了。我编辑了我的答案,以反映如何做到这一点。(我只是去了演示页面,查看了源代码,找到了播放事件行。我还没有测试。)jPlayer的文档(“pauseOthers”)可以在这里找到:你能看一下更新吗,看一下文档,但仍然有问题
  $("#jquery_jplayer_1-<?php echo $key.'-'.$j; ?>").jPlayer({
    ready: function () {
      $(this).jPlayer("setMedia", {
        <?php echo $info['extension'];?>: "<?php echo "AudioFiles/".$a; ?>"
      });
    },
    play: function() { // To avoid both jPlayers playing together.
      $(this).jPlayer("pauseOthers");
    },
    solution:"flash,html",
    swfPath: "jquery",
    supplied: "<?php echo $info['extension'];?>"
  });