国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

無法讓 Tone.js 播放器工作并播放單個(gè) wav 文件
P粉231079976
P粉231079976 2023-09-01 10:34:17
0
1
800
<p>無法讓 Tone Player 播放任何內(nèi)容,這是我的簡(jiǎn)單 VueJs 代碼:</p> <pre class="brush:php;toolbar:false;"><模板>

簡(jiǎn)單 Tone.js 演示

<按鈕樣式=”背景顏色:cadetblue;內(nèi)邊距:4px 10px;” @click=“播放”>播放
</模板> <腳本> 從“tone”導(dǎo)入*作為Tone; 導(dǎo)出默認(rèn)值{ 數(shù)據(jù)() { 返回 { 玩家:空, }; }, 方法: { 異步播放() { 嘗試 { console.log("Tone.js 上下文狀態(tài):", Tone.context.state); if (Tone.context.state !== "正在運(yùn)行") { 等待 Tone.start(); console.log(“音頻上下文已啟動(dòng)”); } this.player.start(); } 捕獲(錯(cuò)誤){ console.error("播放時(shí)出錯(cuò):", error.message, error); } }, 異步初始化播放器() { console.log(Tone.context.state); 嘗試 { this.player = 等待新的 Tone.Player({ url: "/sounds/rain.wav", 循環(huán):真, 自動(dòng)啟動(dòng):假, }).toDestination(); this.player.loaded; } 捕獲(錯(cuò)誤){ console.error(“加載音頻文件時(shí)出錯(cuò):”, error); } console.log("音頻文件已加載", this.player.loaded); }, }, 創(chuàng)建(){ this.initializePlayer(); }, }; </腳本></pre> <p>我正在加載的聲音存在于正確的位置 sound/rain.wav 并且如果我在 chrome 中輸入它的路徑,瀏覽器能夠正確打開它 http://localhost:5173/sounds/rain.wav </p> <p>運(yùn)行應(yīng)用程序得到的輸出:</p> <p>了解 Tone.js 的人可以幫助我讓播放器播放單個(gè)文件嗎?我花了一整天的時(shí)間來解決這個(gè)問題,甚至使用了 GPT4,但我遇到了同樣的問題,播放器無法播放簡(jiǎn)單的文件。</p>
P粉231079976
P粉231079976

全部回復(fù)(1)
P粉331849987

我猜發(fā)生錯(cuò)誤是因?yàn)?code>播放器尚未完成音頻的下載。

構(gòu)造函數(shù)不返回承諾。如果您想等待 Player 準(zhǔn)備就緒,則需要傳遞 onload 函數(shù)。通過將其包裝在 Promise 中,它可用于等待 Player 準(zhǔn)備就緒。

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();
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板