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