次のようなJavaScriptを使用して、ボタンが押されたときにmp3ファイルを再生するページがあります。
onclick="playAudio"
明らかな300msの遅延があります。これは、ネクサス7のみを使用して、html5ブラウザでのみ使用したいと思います。したがって、IE6などのバックアップコードは必要ありません。私が見たすべてのソリューションは非常に複雑に見え、動作させることができません。
簡単なJavaScriptソリューションはありませんか?
次のようなJavaScriptを使用して、ボタンが押されたときにmp3ファイルを再生するページがあります。
onclick="playAudio"
明らかな300msの遅延があります。これは、ネクサス7のみを使用して、html5ブラウザでのみ使用したいと思います。したがって、IE6などのバックアップコードは必要ありません。私が見たすべてのソリューションは非常に複雑に見え、動作させることができません。
簡単なJavaScriptソリューションはありませんか?
githubでFastclickプロジェクトをチェックしてください。私があなたの質問を理解しているなら、あなたはタッチデバイスの300msの遅延を取り除きたいだけです。このプロジェクトは、タッチUIをよりスッキリと応答性の高いものにするためのポリフィルです。URLは次のとおりです。
https://github.com/ftlabs/fastclick
使用事例:
次のようにfastclickライブラリを含めるだけです。
<script type='application/javascript' src='/path/to/fastclick.js'></script>
次に、メインのアプリのjsファイルに次のように入力してインスタンス化します。
window.addEventListener('load', function() {
new FastClick(document.body);
}, false);
お役に立てば幸いです。
あなたの質問を理解しているように、この問題はオーディオの再生に関連しており、必ずしもボタンの操作に関連しているわけではありません。それで、それに基づいて、私はあなたの質問に以下で答えようとします。
これにはHTML5オーディオAPIを使用していると思います。preload
属性を見ましたか?これにはauto
、オーディオをプリロードすることをお勧めする可能性があることをブラウザに通知するという値があります。これの欠点は、ほとんどの場合、何があってもオーディオをダウンロードしているため、サーバーに不要なオーバーヘッドが発生するリスクがあることです。このアプローチを使用すると、JavaScriptを使用してcanplaythrough
イベントをサブスクライブし、オーディオがダウンロードされて再生の準備ができたことを通知できます。
このテーマの詳細については、こちらをご覧ください。