WebAudioAPIを用いてAudio要素をJavaScriptで制御しています。

長時間のmp3ファイルのうち、1000秒〜1100秒までを再生させたいとします。1000秒から再生を開始するのはcurrentTimeを指定することで実現できました。

しかし、再生を開始するとmp3の先頭からロードが始まり、1000秒地点までロードが到達するまで待機時間が発生します。この待機時間をなくすために任意の範囲だけ(この場合だと1000秒〜1100秒の範囲)ロードさせるようにしたいと考えています。

rangeリクエストで取得するbytesの範囲を指定できれば実現可能ではないかと調べてみたのですが、WebAudioAPIでrangeリクエストをコントロールする方法を見るけることができませんでした。

何か良い方法を知っている方、よろしくお願いいたします。

var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
var myAudio = document.querySelector('audio');
var source = audioCtx.createMediaElementSource(myAudio);

source.connect(audioCtx.destination);

source.mediaElement.addEventListener("play", function() {
  source.mediaElement.currentTime = 1000; // ロードも1000秒地点から開始させたい
});