Android2.3でAudio.preloadの指定

var audio = new Audio('main.mp3');
audio.autobuffer = false; // early HTML5 implementation (non-standard)
audio.preload = 'none'; // standard
audio.addEventListener('loadstart', function() {
  alert('loadstart');
});
audio.addEventListener('loadeddata', function() {
  alert('loadeddata');
});

こんな感じで書いた場合普通はaudioファイルのロードはpendingになって止まるんだけど、Android2.3(手元のXperia arcで確認)だと一回ロードしようとしたデータは止まらないらしい。

preloadを指定した後にsrcを指定すれば大丈夫っぽい。

var audio = new Audio();
audio.autobuffer = false; // early HTML5 implementation (non-standard)
audio.preload = 'none'; // standard
audio.src = 'main.mp3';
audio.addEventListener('loadstart', function() {
  alert('loadstart');
});
audio.addEventListener("loadeddata", function() {
  alert('loadeddata');
});

検証結果。
http://dl.dropbox.com/u/336104/demo/audio/index2.html
http://dl.dropbox.com/u/336104/demo/audio/index3.html