Impossible de faire fonctionner le lecteur Tone.js et de lire un seul fichier wav
P粉231079976
2023-09-01 10:34:17
<p>无法让 Tone Player 播放任何内容,这是我的简单 VueJs 代码:</p>
<pre class="brush:php;toolbar:false;"><template>
<div>
<h1>Démo Simple Tone.js</h1>
<style de bouton="couleur de fond : bleu cadet ; rembourrage : 4px 10px;" @click="play">Play</bouton>
</div>
</modèle>
<script>
importer * comme ton à partir de "ton" ;
exporter par défaut {
données() {
retour {
joueur : nul,
} ;
},
méthodes : {
lecture asynchrone() {
essayer {
console.log("État de contexte Tone.js :", Tone.context.state);
if (Tone.context.state !== "en cours d'exécution") {
attendre Tone.start();
console.log("contexte audio démarré");
}
this.player.start();
} attraper (erreur) {
console.error("Erreur lors de la lecture :", error.message, erreur);
}
},
async initializePlayer() {
console.log(Tone.context.state);
essayer {
this.player = attendre un nouveau Tone.Player ({
URL : "/sounds/rain.wav",
boucle : vrai,
démarrage automatique : faux,
}).toDestination();
ce.joueur.chargé;
} attraper (erreur) {
console.error("Erreur de chargement du fichier audio :", erreur);
}
console.log("Fichier audio chargé", this.player.loaded);
},
},
créé() {
this.initializePlayer();
},
} ;
</script></pre>
<p>确打开它
http://localhost:5173/sounds/rain.wav
</p>
<p>运行应用程序得到的输出:</p>
<p>了解 Tone.js Il s'agit d'un GPT4, ou d'un GPT4.播放简单的文件。</p>
Je suppose que l'erreur s'est produite parce que
播放器
le téléchargement de l'audio n'est pas encore terminé.Le constructeur ne rend pas ses promesses. Si vous voulez attendre
Player
准备就绪,则需要传递onload
函数。通过将其包装在 Promise 中,它可用于等待Player
c'est prêt.