検索

ホームページ  >  に質問  >  本文

Tone.js プレーヤーを動作させ、単一の wav ファイルを再生することができません

<p>無法让 Tone Player 播放任意のコンテンツ,これは我的简单 VueJs 代番号:</p> <pre class="brush:php;toolbar:false;"><テンプレート> <div> <h1>Simple Tone.js デモ</h1> <button style="背景色: cadetblue;パディング: 4px 10px;" @click="play">Play</button> </div> </テンプレート> <スクリプト> import * as Tone from "tone"; デフォルトのエクスポート { データ() { 戻る { プレイヤー: null、 }; }、 メソッド: { 非同期再生() { 試す { console.log("Tone.js コンテキストの状態:", Tone.context.state); if (Tone.context.state !== "実行中") { Tone.start(); を待ちます。 console.log("オーディオコンテキストが開始されました"); } this.player.start(); } キャッチ (エラー) { console.error("再生中のエラー:", error.message, error); } }、 asyncInitializePlayer() { console.log(Tone.context.state); 試す { this.player = 新しい Tone.Player({ URL: "/sounds/rain.wav"、 ループ: true、 自動開始: false、 }).toDestination(); this.player.loaded; } キャッチ (エラー) { console.error("音声ファイルの読み込みエラー:", error); } console.log("オーディオ ファイルがロードされました"、this.player.loaded); }、 }、 作成した() { this.initializePlayer(); }、 }; </script></pre> <p>私が現在ダウンロードされている音声は、正しい位置 sound/rain.wav に存在し、結果私がクロム中に入っている経路、浏览器能够正确打开它 http://localhost:5173/sounds/rain.wav </p> <p>実行プログラムの結果:</p> <p>Tone.js を理解している人は我让播放器播放单个文件吗?我花了一整天的時間间為解决这个问题,甚至使用了 GPT4,但我遇到了同样的问题,播放器無法</p> 単一のファイルをブロードキャストします。
P粉231079976P粉231079976482日前658

全員に返信(1)返信します

  • P粉331849987

    P粉3318499872023-09-02 00:52:00

    Player がオーディオのダウンロードを完了していないためにエラーが発生したと思われます。

    コンストラクターは Promise を返しません。

    Player の準備ができるまで待ちたい場合は、onload 関数を渡す必要があります。これを Promise でラップすることで、Player の準備が整うまで待機するために使用できます。 リーリー

    返事
    0
  • キャンセル返事