loadedエラーが出る場合2020年2月11日SHAREツイートシェアはてブLINEPocketスポンサーリンクTone.jsはHTML5のオーディオ機能を簡単に利用できる優れたライブラリだ。Tone.Playerなどでオブジェクト作成後、次の処理に移ろうとして以下のようなエラーメッセージが出力された。(Tone.js:7):太字の部分をGoogle翻訳にかけてみると不明なエラー:バッファが設定されていないか、ロードされていませんとのこと。例として以下のようなプログラムで表示される。Tone.Player(url);のような感じで音源を作成しておいてから、サイト上のボタンを押したらaudio.start();で鳴らそうとする。タイミングによっては問題なく音声が再生されるが、何も起きずエラーが出力される場合がある。時間を置いてからボタンを押して再生すると問題なく再生されることから要するに音声データがTone.Playerオブジェクトに読み込まれる前に何かしようとしてしまったのだと気づく。Tone.jsのドキュメント(英語)を見ると以下の記述があった。)url文字列で指定:AudioBufferまたはAudioBufferをロードするURLのいずれかonload関数で指定:バッファがロードされたときに呼び出す関数。‘load’)を使用することをお勧めします。‘load’)の使い方が分からなかったので、Tone.Playerの第2引数に読み込まれたときにログ表示してみると読み込まれたタイミングが分かるかもしれないと考えた。audio;などとグローバル宣言した変数で、urlは”sample.wav”などのような音声ファイルの文字列とする。実際に次の処理に移ってから数秒してから読み込みが完了していることが分かった。最終的に読み込まれたタイミングで何か処理したかったので、以下のようなプログラムを作成した。コメントをキャンセルメールアドレスが公開されることはありません。コメント名前メールアドレスサイト上に表示された文字を入力してください。情報は逆手に取ることも出来る次の記事ただほど高いものは無い生きている限り、人生は読めませんshuichi学生時代、授業中は良く寝ていました。好きな食べ物はトマトです。このブログが何かのお役に立てばうれしいです。