【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>何か強引の感じがするけど、とりあえずやりたいことはできました
以上です