良い一日、
私は現在、自分用の Web サイトを構築しており (私は作曲家/プロデューサーです)、メインのデモ ページに Media Element を使用しています。このページは次のリンクで作成中です。
http://www.vincentrubinetti.com/listen.html
http://www.vincentrubinetti.com/listen.js
以下は、関連する関数とコードであると私が思うものです。
function initPlayer()
{
player = new MediaElementPlayer('#listen_player',{
success: function (mediaElement, domObject)
{
mediaElement.addEventListener('play', resumeSong, false);
mediaElement.addEventListener('ended', playNextSong, false);
mediaElement.addEventListener('pause', pauseSong, false);
}
});
[omitted]
}
function setSong(element)
{
if (element != "")
{
unselectAllSongs();
document.getElementById(element).className = "listen_song_highlight";
[omitted]
var newSrc = document.querySelector("#"+element+" .listen_song_source").title;
player.pause();
player.setSrc(newSrc);
player.load();
}
}
function playSong(element)
{
document.querySelector("#"+element+" .listen_song_status").innerHTML = "playing";
player.play();
}
function playNextSong()
{
var newSong = document.querySelector(".listen_song_highlight + div.listen_song");
if (autoplay && newSong != null)
{
setSong(newSong.id);
playSong(newSong.id);
}
else
{
document.querySelector(".listen_song_highlight .listen_song_status").innerHTML = "stopped";
}
}
これのすべてのCSSの終わりは問題ないようです。リストの次の曲を見つけて、新しいソースを設定します。アラートやその他のデバッグを介して、これが適切に行われることを確認しました。ただし、Android のデフォルト ブラウザと Dolphin ブラウザでは、mp3 をロードできない場合があり、次の曲に移動する「終了」イベントが早まってトリガーされます。その結果、1 つの曲の再生が終わった後、2 ~ 3 曲スキップするように見えます。また、曲の div とプレーヤーの再生ボタンをクリックして再生するのにも、多少の手間がかかります。HTML にあるものと同じ URL を入力すると、ブラウザは問題なく再生/ダウンロードし、アクセスや読み込みに問題はありません。
参照用に、プレイリストを下に繰り返す 3 つの mp3 ファイルを次に示します。これらは私が作成したものですが、実際の音楽のプレースホルダーです。
NEW/music/creation.mp3
NEW/music/startup.mp3
NEW/music/win.mp3
これらはすべて、Chrome、Firefox、IE8+、および Android Chrome で正しく動作することに注意してください (iPhone や iPad はまだテストしていません)。
私の診断は正しいですか?誰かが私を正しい方向に向けることができますか? Android のデフォルト ブラウザと Dolphin ブラウザで MediaElement が正しく動作しない経験はありますか?