我猜發(fā)生錯誤是因為播放器
尚未完成音頻的下載。
構造函數(shù)不返回承諾。如果您想等待 Player
準備就緒,則需要傳遞 onload
函數(shù)。通過將其包裝在 Promise 中,它可用于等待 Player
準備就緒。
this.player = await new Promise((resolve, reject) => { const player = new Tone.Player({ loop: true, onerror: (err) => reject(err), onload: () => resolve(player), url: '/sounds/rain.wav' }); }); this.player.toDestination();