返信ありがとうございました。
検証の為に、コードをそぎ落としていくと、Javascriptは関係なく、HTMLでの問題と判りました。
コード:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/html">
<head>
<meta http-equiv="content-type" content="text/html" charset="UTF-8">
<meta http-equiv="content-style-type" content="text/javascript">
<meta http-equiv="content-style-type" content="text/css">
<meta http-equiv="Content-Language" content="ja">
<meta http-equiv="Pragma" content="no-cache">
<title>load test</title>
</head>
<body>
<div>
<audio id="audio1" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98041.mp3" type="audio/mp3">
</audio>
<audio id="audio2" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98042.mp3" type="audio/mp3">
</audio>
<audio id="audio3" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98043.mp3" type="audio/mp3">
</audio>
<audio id="audio4" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98044.mp3" type="audio/mp3">
</audio>
<audio id="audio5" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98045.mp3" type="audio/mp3">
</audio>
<audio id="audio6" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98046.mp3" type="audio/mp3">
</audio>
<audio id="audio7" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98047.mp3" type="audio/mp3">
</audio>
<audio id="audio8" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98048.mp3" type="audio/mp3">
</audio>
<audio id="audio9" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98049.mp3" type="audio/mp3">
</audio>
<audio id="audio10" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98040.mp3" type="audio/mp3">
</audio>
<audio id="audio11" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98051.mp3" type="audio/mp3">
</audio>
<audio id="audio12" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98052.mp3" type="audio/mp3">
</audio>
<audio id="audio13" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98053.mp3" type="audio/mp3">
</audio>
<audio id="audio14" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98054mp3" type="audio/mp3">
</audio>
<audio id="audio15" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98055.mp3" type="audio/mp3">
</audio>
<audio id="audio16" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98056.mp3" type="audio/mp3">
</audio>
<audio id="audio17" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98057.mp3" type="audio/mp3">
</audio>
<audio id="audio18" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98058.mp3" type="audio/mp3">
</audio>
<audio id="audio19" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98059.mp3" type="audio/mp3">
</audio>
<audio id="audio20" preload="auto" controls oncanplaythrough="console.log(this.id);">
<source src="/music/98060.mp3" type="audio/mp3">
</audio>
</div>
</body>
</html>
このような複数のMP3ファイルをロードした時、ロードが途中で止まり、全くロードしていないmp3は、再生する事ができない状態となります。
無駄なロードを防ぐ為に、必要分だけDLするという仕様は理解できるのですが、
再生したいファイルがロードされていない場合、待ち続けても再生されないという状態です…。
※再生した時にロードで待ちたくないので、「クリックなどでロード」ではなく、
ページ表示時に全てロードしたいです。
表示されているファイルを全て再生可能な状態にしたい、
あわよくば、全部最後までロードしてほしい、と思っていますが、
キャッシュ周りなど、設定でなんとかなるものでしょうか。
または、Javascript側のテクニックなどあるのでしょうか・・・。