前提・実現したいこと
html5のcanvasで鳴らす音をcreateJSで制御しております。
最終的にはハイブリットアプリとして公開する予定です。
createJSでオーディオスプライトの読み込み具合を取得し、
ローディングバーに反映させたいです。
ただ、読み込み割合が0から1(100%)にいきなり行くのでローディングバーが表示されません。
0から1に行くまでは時間がかかってるので、読み込みが早すぎるわけではないようです。
ユーザーを待たせてる間にきちんと読み込み具合をローディングバーで示したいです。
コンソールの結果表示
0 1
該当のソースコード
JavaScript
1//このフレームでストップ 2this.stop(); 3 4//関数内でもステージ上のオブジェクトが参照できるように格納しておく 5var that = this; 6 7 8//読み込みの割合が変化するたびに実行 9var assetsProgress = function (e) { 10 console.log(e.progress); 11 that.loadingbar_sound.scaleX = e.progress; 12}; 13 14//読み込みが完了した際に実行 15var handleComplete = function () { 16 createjs.Sound.play("hoge1"); 17} 18 19 20 21var queue = new createjs.LoadQueue(); 22 23 24 25//拡張子ogg未対応ならmp3使う 26createjs.Sound.alternateExtensions = ["mp3"]; 27 28 29//iOS用に音を鳴らす形式を指定 30createjs.Sound.registerPlugins([createjs.HTMLAudioPlugin]); 31 32 33 34//プラグインを読み込む 35queue.installPlugin(createjs.Sound); 36 37 38 39//読み込みの割合が変化するたびに実行させる関数を指定 40queue.on('progress', assetsProgress, this); 41 42 43 44//読み込みが完了した際に実行させる関数を指定 45queue.on("complete", handleComplete); 46 47 48 49//オーディオスプライトの指定 50var manifest = [{ 51 src: "music/output_filename.ogg", 52 data: { 53 channels: 5, 54 audioSprite: [{ 55 id: "hoge1", 56 startTime: 0, 57 duration: 25000 58 }, { 59 id: "hoge2", 60 startTime: 27000, 61 duration: 1000 62 }] 63 } 64}]; 65 66 67//オーディオスプライトの読み込み 68queue.loadManifest(manifest);
試したこと
・queue.on('progress → queue.on('fileprogress
・e.progress → e.loaded
補足情報(FW/ツールのバージョンなど)
開発言語:Cordova
開発ソフト:Adobe Animate CC 2018
シュミレーションソフト:Xcode Version 10.0
シュミレーション端末:iphone ver12.0
あなたの回答
tips
プレビュー