1

JPlayer を HTML5 オーディオ プレーヤーとして使用しています。jQuery の一部として、プレイリスト内の曲の名前を取得し、リスト要素として表示します。その名前表示機能を別の場所にリダイレクトしたいと思います。

以下の@Benderの回答は、サムネイルをクリックして曲を再生するときに機能しますが、プレーヤーのコントロールを使用して前または次の曲にスキップしたり、プレーヤーにプレイリストを循環させたりすると、名前は更新されません。また、ページが最初に読み込まれたときに名前が表示されません。

JPlayer のコードには、クラス (.jp-playlist-current) をキューアップされてアクティブな (再生または一時停止された) 曲に追加するセクションがあります。私はそれを利用するのが最善だと思います..しかし、JPlayerのコントロールの「名前」セクションが具体的に呼び出されていないため、どうすればよいかわかりません.

{
name:"Paparazzi",
mp3:"http://www.minimalpluscreative.com/newclients/fernandogaribay/audio/fernando_garibay_paparazzisnlmix.mp3",
oga:"http://www.minimalpluscreative.com/newclients/fernandogaribay/audio/fernando_garibay_paparazzisnlmix.ogg",
wav:"http://www.minimalpluscreative.com/newclients/fernandogaribay/audio/fernando_garibay_paparazzisnlmix.wav"
}

つまり..名前を#nameという段落に移動し、常に現在の曲名を表示します..どのようにそこにたどり着いたとしても。

とにかく、これをどこでどのように行うのか正確にはわかりません。何かアドバイス?

ありがとうございました!

jsFiddle: http://jsfiddle.net/danielredwood/MmvJX/7/


           playlistConfig: function(index) {
                $(this.cssSelector.playlist + "_item_" + this.current).removeClass("jp-playlist-current").parent().removeClass("jp-playlist-current");
                $(this.cssSelector.playlist + "_item_" + index).addClass("jp-playlist-current").parent().addClass("jp-playlist-current");
                this.current = index;
                //Line below this
                $('#name').text(this.playlist[this.current].name);
                $(this.cssSelector.jPlayer).jPlayer("setMedia", this.playlist[this.current]);
            },
4

3 に答える 3

2

jplayer.playlist.js ファイル_highlightで、タイトルを出力する div の正しい my_jquery_selector を使用して、次のような行を関数に追加します。

$(my_jquery_selector).html(this.playlist[index].title);

これは、プレーヤー自体にタイトル div (this.cssSelector.title) を設定するメソッドの現在の最終行から抽出されます。この_highlight関数は、曲/メディアの変更が呼び出されるたびに呼び出されるため、毎回実行する必要があると思います。

于 2012-09-20T23:02:57.703 に答える
1

何を言っているのかよくわからないので、私が解釈したものを以下に示します。難しいことは何もないので、私が変更したものを見てください。ひょっとして、JavaScript/jQuery でコーディングする方法を知っていますか?

http://jsfiddle.net/MmvJX/5/

于 2011-04-21T05:17:44.600 に答える