0

オーディオ プレーヤーである Jplayer に問題があります。isPaused へのアクセスに問題があります。私が必要としているのは、プレーヤーの再生中に div の背景画像を変更する必要があることです。2 つのテスト スクリプトがありますが、どちらも正常に動作していません。

私のプレーヤー

var myCirclePlayer = new CirclePlayer("#jquery_jplayer_1",
    {
        mp3: "/media/audio/RelaxSeg.mp3",
    }, {
        supplied: "mp3",
        cssSelectorAncestor: "#cp_container_1",
        swfPath: "/jQuery.jPlayer.2.2.0/v11/js",
        wmode: "window"
});

私のコンテナ。

  <div id="jquery_jplayer_1" class="cp-jplayer"></div>
  <div id="cp_container_1" class="cp-container" style="background:none;">
    <img id="bg_image" class="bg_image1"  src="/jQuery.jPlayer.2.2.0/v11/circle.skin/jplayer_bg_img.png" height="60"  />
        <div class="cp-progress-holder"> <!-- .cp-gt50 only needed when progress is > than 50% -->
            <div class="cp-progress-1"></div>
            <div class="cp-progress-2"></div>
        </div>

    <div class="cp-circle-control"></div>
         <ul class="cp-controls">
             <li><a id="play1"  class="cp-play" tabindex="1">play</a></li>
             <li><a id="pause1"  class="cp-pause" style="display:none;" tabindex="1">pause</a></li> <!-- Needs the inline style here, or jQuery.show() uses display:inline instead of display:block -->
         </ul>


  </div>          

これは機能するはずですが、何らかの理由で機能しません。

if($("#jquery_jplayer_1").data("jPlayer").status.isPlaying) { 
    $(".bg_image1").attr("src", "/jQuery.jPlayer.2.2.0/v11/circle.skin/jplayer_bg_image_green.png"); 
    } 
    else { 
    $(".bg_image1").attr("src", "/jQuery.jPlayer.2.2.0/v11/circle.skin/jplayer_bg_img.png");
    }   

また、プレーヤーが再生されていないときは一時停止ボタンが表示されず、プレーヤーが再生されているときはそのスタイルが display=block になるコードもあります。

if(document.getElementById("pause1").style.display = "block") { 
    $(".bg_image1").attr("src", "/jQuery.jPlayer.2.2.0/v11/circle.skin/jplayer_bg_image_green.png"); 
    } 

if(document.getElementById("pause1").style.display = "none") { 
    $(".bg_image1").attr("src", "/jQuery.jPlayer.2.2.0/v11/circle.skin/jplayer_bg_img.png");
    } 

コードのブロックについてはお詫びしますが、何も残したくありませんでした。

4

1 に答える 1

1

次のようにして、jPlayer の および イベントにplayフックpauseできます。end

var myCirclePlayer = new CirclePlayer("#jquery_jplayer_1",
{
    mp3: "/media/audio/RelaxSeg.mp3",
}, {
    supplied: "mp3",
    cssSelectorAncestor: "#cp_container_1",
    swfPath: "/jQuery.jPlayer.2.2.0/v11/js",
    wmode: "window",
    play: function () {
        $(".bg_image1").attr("src", "/jQuery.jPlayer.2.2.0/v11/circle.skin/jplayer_bg_img.png");
    },
    pause: function () {
        $(".bg_image1").attr("src", "/jQuery.jPlayer.2.2.0/v11/circle.skin/jplayer_bg_image_green.png");
    },
    ended: function () {
        $(".bg_image1").attr("src", "/jQuery.jPlayer.2.2.0/v11/circle.skin/jplayer_bg_image_green.png");
    }
   });
于 2013-03-27T17:05:51.140 に答える