1

私はこれを短くしようとします:

ajaxページのロード後にjPlayer(http://jplayer.org/)の一意のインスタンスを「機能」させるにはどうすればよいですか?

私のjPlayerは次のインラインJavaScriptコードを使用しています。

<?
    $mp3    = get_post_meta(get_the_ID(), 'audio_mp3', TRUE);
    $ogg    = get_post_meta(get_the_ID(), 'audio_ogg', TRUE);

?>

<?php if($mp3 && $ogg) { ?>

<script type="text/javascript">
jQuery(document).ready(function($) {


        jQuery( '#jquery_jplayer_<?php the_ID(); ?>' ).jPlayer({
            ready: function() {
                jQuery(this).jPlayer('setMedia', {
                    mp3: "<?php echo ($mp3); ?>",
                    oga: "<?php echo ($ogg); ?>"
                    });
                },
            swfPath: "<?php echo get_template_directory_uri(); ?>/js/jplayer/",
            cssSelectorAncestor: "#jp_container_<?php the_ID(); ?>",
            supplied: "<?php if($mp3 != '') : ?>mp3, <?php endif; ?><?php if($ogg != '') : ?>oga, <?php endif; ?> all"
        });


});

</script>

たとえば、prettyPhotoライトボックスのようなユニークでないものについては、関数(prettyPhoto();を作成しました。これをコールバックに入れました。しかし、これをjplayerで機能させることはできないようです。

どんな助けも奪われるでしょう!

4

1 に答える 1

0

プレイリストアドオンを使用することをお勧めします。

  1. 空のプレーヤー インスタンスを作成する

    var jpplaylist = new jPlayerPlaylist({
        jPlayer: "#jquery_jplayer_1",
        cssSelectorAncestor: "#jp_container_1"
        }, [], {
            swfPath: "/path/to/swf",
            supplied: "mp3",
            wmode: "window"
        });
    
  2. AJAX ページの読み込み後、setPlaylist 関数を使用してトラックを追加します。

    jpplaylist.add({
        title:"Song Title",
        mp3:"http://example.com/example.mp3"
    });
    

完全なプレイリストの仕様はこちら: http://www.jplayer.org/latest/demo-02-jPlayerPlaylist/

于 2012-10-24T00:24:38.990 に答える