2016-06-02 5 views
0

私はオンラインのオーディオプレーヤーを作った。その罰金だが、遅いインターネット上でオーディオを再生するには余りにも多くの時間を取る。ここで私はこの問題を解決するために何かできますか?JavaScriptを使用してHTML5のmyltiple時間でオーディオを読み込み

ローディング時間を設定できますか?最初のようにオーディオは最初の10秒間ロードされます。最初の10秒間がロードされると、プレイヤーは、プレイを開始します。その時間に最初の10秒間プレイしますが、プレーヤーは次の10秒間にロードします。それはできますか?

var audio = new Audio(); 
audio.src ="dir/music.mp3"; 
audio.loop = true; 
audio.autoplay = true; 

これは現在のコードです。私を助けてください。ありがとう

+0

低ビットレートの音楽を提供します。 XHRを介してダミーファイルをロードし、バイト/時間を測定することにより、読み込み時間を見積もることができます。あらかじめ定義されたしきい値のデフォルト値を下回る場合、ソースは低ビットレートバージョンになります。 – K3N

答えて

0

あなたの最善の方法は、より低い品質の.mp3ファイル(192kbps)を持つことでしょうか? 最初の10秒をプレイした後、次の10秒がロードされることは決してありません。

+0

しかし、それはmp3オーディオ曲のサイトを再生するので、低品質のファイルを使用することはできません。 1つのファイルは23分以上する必要があります –

+0

曲の長さはどのくらいですか? おそらく、30分の曲を1分にカットしてプレイリストを作成できますか? .mp3は、192kbpsや320kbpsなどのさまざまな品質を持っています(とその前と後のすべて) 192kbpsはまだそのようなサイトでは受け入れられますが、高品質のためにダウンロードボタンを追加できます。 –

+0

曲の長さは4分または5分のように3分または4分にすることができます。 –

0

ブラウザは、どれくらいプリロードするかを決定します。これは次のようにすることができます:HTMLが完全に読み込まれると、ブラウザは音声を再生します。

window.onload = function() { 
     document.getElementById("my_audio").play(); 
    } 

ただし、接続が遅いのはあなただけではありません。ブラウザ/ PCの速度が遅い場合は、オーディオを読み込んでデコードする必要があるため、時間がかかることがあります。あなたの最善の策は、より低い品質のオーディオを使用することです。したがって、ロードと処理がより高速になります。 HTML5オーディオタグを使用している場合は、必ずpreload = "auto"を使用してください。

<audio preload="auto"> 

あなたは低レベルのオーディオフレームワークを使用するというように、物事がどのように動作するかをより詳細に制御を持っていた高度なオーディオのものを作ること。

また、.wavは.mp3よりも復号化が高速です。

+0

WAVもmp3よりも約10倍大きい。遅いcpusでさえ今日mp3をデコードすることは大きな出来事ではありません。 – K3N

+0

Phaserのゲームでmp3を使用したときに音楽に本当に面倒な遅延がありました.wavでうまくいきました。だからデコードは多かれ少なかれハイエンドのハードウェアにも影響を与えました。たぶん、デコーダが唯一の理由でした。知りません。 –

関連する問題