2011-10-31 6 views
1

jquery/html5オーディオプレーヤーを構築していますが、ソースをオーディオタグに変更する際にいくつか問題があります。私が実装した方法は、IE9を除くすべてのブラウザで動作します。ここでソースを<audio>に変更html5要素

はコードのサンプルです:IE9で

audio = $("<audio>").attr("id", "audioElement") 
         .attr("preload", "auto") 
         .appendTo(player); 

function addMp3Source(sourceUrl) { 
    audio.empty(); 
    var newSrc = $("<source>").attr("src", config.tracksURL + sourceUrl).appendTo(audio); 
} 

、ソースが変更されますが、私はトラックを再生していたときに、それが果たしている古い音です。他のブラウザでうまく動作します。

ideeas?

+0

オーディオ要素全体を削除し、新しいソースを新しいものに追加する必要が生じる場合があります。 –

+0

あなたは '

+0

私はソースだけを変更することはできません?私はすでにそのオーディオタグへの参照をいくつか持っています。タグを削除すると参照が失われます。おかげさまで – gabitzish

答えて

1
function addMp3Source(sourceUrl) { 
    audio.empty(); 
    var newSrc = $("<source>").attr("src", config.tracksURL + sourceUrl).appendTo(audio); 
    /****************/ 
    audio[0].pause(); 
    audio[0].load();//suspends and restores all audio element 
    /****************/ 
} 
+0

このアプローチは、FF 10のjQuery Mobile 1.0.1とMac OS X 10.7のChrome 16で動作しましたが、他のいくつかの方法では動作しませんでした。しかし、私は 'pause()は関数ではありません。だから、私は 'audio [0] .pause();'を削除しました。 – devdanke

関連する問題