関数の一部として midi ファイルをロードする必要がある createjs アプリに取り組んでいます。次に、midiplayer.js を使用してファイルを再生する予定です。ただし、createjs を使用して midi ファイルをロードする例は見つかりません。それをバイナリとしてロードしてから、それが処理できるArrayBufferとしてmidiplayer.jsにフィードしたいようです。createjs で BINARY ファイル タイプを読み込む方法に行き詰まっています。私がやろうとしているコードの例を次に示します。
let queue = new createjs.LoadQueue();
queue.on("complete", assets_loaded);
queue.on("fileload", handle_file_load);
queue.loadManifest([
{id: "bach_score", src: "Bach_score.png"},
{id: "football_stage", src:"Football.png"},
{id: '1badbar1s', src: "exampleplayer/e1/1badbar1.mid", type: createjs.Types.BINARY}]);
すべてがうまくいくようです。エラーは報告されません。次のような行で問題なく画像ファイルを読み込むことができます。
let new_image = new createjs.Bitmap(queue.getResult("bach_score));
ただし、バイナリ ファイルを読み込む方法の例が見つかりません。どんな助けでも感謝します。
ここにアップデートがあります。これがバイナリ型であることを指定する必要があるようです。(私はそれを上に追加しました)。次に、これによりbinaryLoaderクラスが呼び出され、必要なものが返されます。ただし、機能していないようです。これは createjs のバグでしょうか?
###追加更新: 2021 年 4 月 16 日
私は createjs コードを掘り下げて、何が起こっているのかを理解しました。私のファイルの拡張子は .mid (midi ファイル) であるため、soundjs はファイルの処理を要求しています。リストされている拡張子の 1 つは、sound.js の 363 行目の SUPPORTED_EXTENSION として .mid です。これにより、ブラウザが midi ファイルをサポートしているかどうかが確認されましたが、サポートされているものはありませんでした。これに対する回避策を見つけなければなりません。