let btn = document.querySelector('#play-button');
// 設置 Tone.js 音訊上下文
Tone.setContext(new Tone.Context());
// 創建 Sampler 音源
const sampler = new Tone.Sampler({
urls: {
C4: "https://tonejs.github.io/audio/casio/C4.mp3",
"D#4": "https://tonejs.github.io/audio/casio/Ds4.mp3",
"F#4": "https://tonejs.github.io/audio/casio/Fs4.mp3",
A4: "https://tonejs.github.io/audio/casio/A4.mp3",
},
release: 1,
}).toDestination();
// 創建音樂循環
const loop = new Tone.Loop((time) => {
sampler.triggerAttackRelease(["C4", "E4", "G4", "B4"], 0.5, time);
}, "1m");
// 點擊按鈕時啟動/暫停循環
btn.addEventListener('click', () => {
if (Tone.Transport.state !== 'started') {
Tone.start();
loop.start();
btn.textContent = 'Pause Music';
} else {
Tone.Transport.pause();
btn.textContent = 'Play Music';
}
});