【javascript】android x chromeでAudio.currentTimeをセットしても効かなかったときの対応〜音声再生
やりたかったことは、javascriptでのAudioの再生で所定の場所から再生したいということでした
基本的は以下でできたのですが、android + chromeで動作確認できなかった。
currentTimeを設定しても0になってしまってうまくできませんでした。
<button onclick="playAudio();">再生</button> <script> function playAudio() { var audio = new Audio(); audio.src = "/path/to/audio.ogg"; audio.load(); // 再生可能になったらスタート audio.addEventListener("canplay", function() { audio.currentTime = 30; audio.play(); }); } </script>
で、修正した内容は以下
<script> function playAudio() { var audio = new Audio(); audio.src = "/path/to/audio.ogg"; audio.load(); // 再生可能になったらスタート audio.addEventListener("canplay", function() { audio.play(); }); // ★ココを追加 timeupdateイベントは再生位置が変わると呼ばれる audio.addEventListener("timeupdate", function() { if (audio.currentTime < 30) { audio.currentTime = 30; audio.play(); } }); } </script>
何か強引の感じがするけど、とりあえずやりたいことはできました
以上です