質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

2083閲覧

SoundJS(PreloadJS)でfileloadイベントが発火しない

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2015/11/18 03:33

SoundJS(PreloadJS)でmp3ファイルを読み込んで、音を鳴らしたいのですが、なぜか以下のコードだと、fileloadイベントが発火しません。原因がわかる方がいらっしゃいましたらご教授ください。

javaScript

1 2;(function(){ 3 4 function init() { 5 6 // preloadjsのインスタンスにsoundjsのクラスを渡す 7 var queue = new createjs.LoadQueue(true); 8 queue.installPlugin(createjs.Sound); 9 10 // ファイルをqueueに登録して、fileloadイベントでsoundjsのインスタンスを作るfunctionに渡す 11 var manifest = [ 12 {id: "sound1", src: "assets/sound.mp3"} 13 ]; 14 queue.loadManifest(manifest, true); 15 queue.addEventListener('fileload', handleFileLoad); 16 17 18 function handleFileLoad(event) { 19 20 var item = event.item; 21 var type = item.type; 22 if (createjs.LoadQueue.SOUND === type) { 23 startSound(item.id); 24 } 25 } 26 27 function startSound(soundid) { 28 // SoundJSのインスタンスを再生(idを指定) 29 var instance = createjs.Sound.createInstance(soundid); 30 instance.setVolume(0.1); 31 32 function doPlay() { 33 instance.play(); // 再生 34 } 35 36 function doStop() { 37 instance.stop(); // 停止 38 } 39 40 document.getElementById('play').addEventListener('click', doPlay); 41 document.getElementById('stop').addEventListener('click', doStop); 42 } 43 44 } 45 46 window.onload = function() { 47 init(); 48 } 49 50})(); 51

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ソースコード自体は問題ないように思えます。

PreloadJSの仕様なのか、ブラウザによっては"Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https."というエラーメッセージが出ないことがあるようです。

これは、自分のドメインとは異なるドメインのリソースを要求することで起こるエラーです。

対処法としては、サーバーを立ててそこで実行させるか、https://qiita.com/cigalecigales/items/33afaa42f91542ffa62e
このあたりのサイトを参考にしたらうまくいくように思います。

投稿2017/10/28 03:05

hukuda222

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問