-2

私は個人的なウェブサイトを持っています: http://antonfrolov.net/music.html

あそこに mp3 プレーヤーが必要です。1,000 以上の mp3 トラックがあります。

問題は、すばらしい Flash-mp3 Player を試してみたのですが、キリル文字の名前を読み取れないことです。だから私は HTML5 < audio > タグに行きましたが、いくつかの (あなたにとって明らかな) 理由で、曲が再生されていなくてもすべての曲をロードし、タグには 'autoplay' 属性がありません。

1000以上の曲でこれを行う最も簡単な方法は何ですか? フラッシュの速さを見てください: http://antonfrolov.net/musicbackup.html

(ENG 名のトラック #6 は問題なく動作しますが、RU 名のトラック #7 は読み取りを拒否します)

みんなとSOコミュニティに感謝します=)

4

1 に答える 1

0

「再生」ボタンをクリックする前にオーディオをロードしないでください。前のものを動的に破棄するオーディオ オブジェクトを作成します。

すべてのオーディオ タグを削除し、rel 属性を追加して、次のような適切なオーディオ ソースでボタンを再生します (jQuery):

<span class="playb" rel="j/28 Days Later/28 Days Later - Ave Maria.mp3"></span>
...
...
...
<span class="playb" rel="..."></span>
...
<script>
$('.playb').click(function(){
   $('audio').remove();
   $('<audio controls class><source src="'+$(this).attr('rel')+'" type="audio/mpeg"></audio>').appendTo($(this).parent());
});
</script>

PS。このように文字列をマージするのはベスト プラクティスではないと誰かが言うかもしれません。source最初に要素を作成してから、その属性を設定し、タグsrcでラップする必要があります。audioしかし、jQuery は特定のコードを 1000 回分析する必要がないため、これは単純に高速です。

于 2013-10-26T22:16:32.590 に答える