私の理解が正しければ、サウンド ファイルをロードして、ある位置から別の位置までその一部を再生したいとします。
したがって、タイムスタンプを取得して、以下に示すようにスプライトを作成します。便宜上、いくつかのコードを追加しました。サウンド ファイルのデュレーションがわかっている場合はタイムスタンプを計算するのは簡単ですが、デュレーションが不明なファイルの最後からタイムスタンプを計算することも興味深い場合があります。したがって、ファイルをロードする必要があり、その後、期間を取得できます(「オンロード」内の部分を参照してください)
<html>
<head>
<script src="howler.min.js"></script>
</head>
<body>
<button id="buttonBefore">Loading...</button>
<button id="buttonToPlay">Loading...</button>
<button id="buttonAfter">Loading...</button>
<button id="buttonLastSecond">Loading...</button>
<script>
var timeA = 100;
var timeB = 200;
var soundFile = new Howl({
urls: ['./sound.mp3'],
onload: function () {
document.getElementById('buttonBefore').onclick = function () {
soundFile.play('before')
}
document.getElementById('buttonBefore').firstChild.data = "Play before";
document.getElementById('buttonToPlay').onclick = function () {
soundFile.play('toplay')
}
document.getElementById('buttonToPlay').firstChild.data = "Play toplay";
document.getElementById('buttonAfter').onclick = function () {
soundFile.play('after')
}
document.getElementById('buttonAfter').firstChild.data = "Play after";
document.getElementById('buttonLastSecond').onclick = function () {
soundFile.play('lastSecond')
}
document.getElementById('buttonLastSecond').firstChild.data = "Play lastSecond";
soundFile.sprite({
"before": [0, timeA - 1],
"toplay": [timeA, timeB],
"after": [timeB + 1, soundFile._duration * 1000],
"lastSecond": [soundFile._duration * 1000 - 1000, soundFile._duration * 1000 - 1],
});
}
});
</script>
</body>
</html>