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

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

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

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

enchant.js

enchant.jsとは、アプリやゲームを簡単に開発できるオープンソースのHTML5+JavaScriptベースのフレームワークです。プログラミング学習にも用いられ、多くの素材やプラグインが用意されています。

Q&A

解決済

2回答

3507閲覧

enchant.jsで、音が出てこない

jyarin

総合スコア12

JavaScript

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

enchant.js

enchant.jsとは、アプリやゲームを簡単に開発できるオープンソースのHTML5+JavaScriptベースのフレームワークです。プログラミング学習にも用いられ、多くの素材やプラグインが用意されています。

0グッド

0クリップ

投稿2020/04/08 07:13

音を出すため、書籍「はじめて学ぶ enchant.jsゲーム開発」のプログラムをまねて以下のプログラムを書いたところ、音は出ず、エラーが発生しました。

JavaScript

1enchant(); 2 3window.onload = function(){ 4 core = new Core(320,320); 5 core.fps = 16; 6 core.preload('one_0.mp3','Ready.wav'); 7 8 core.bgm = Sound.load('one_0.mp3'); 9 core.se = Sound.load('Ready.wav'); 10 11 core.onload = function(){ 12 13 core.bgm.volume = 0.5; 14 core.bgm.play(); 15 core.se.play(); 16 17 //省略// 18 19 var infoLabel = new Label('enchant.js サンプル'); 20 infoLabel.x = 16; 21 infoLabel.y = 0; 22 infoLabel.color = '#0000FF'; 23 infoLabel.font = '14px sens-serif'; 24 25 core.rootScene.addChild(infoLabel); 26 } 27 core.start(); 28}

出てきたエラーはこちらです。


enchant.js:5605 Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first. https://goo.gl/xX8pDD


対処法を教えてください。

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

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

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

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

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

guest

回答2

0

自己解決

windowsパソコンでは、コマンドプロンプトにて"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --autoplay-policy=no-user-gesture-requiredと入力すれば良いみたいです。
MACでは/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --autoplay-policy=no-user-gesture-requiredを打つ、とのことです。

参考:https://qiita.com/you-me/items/84e61a7103f3530528ab

どうやらChromeがバージョンアップしたせいで、やり方が少し変わっていたみたいですが、sugawataさんに(Autoplay Policy)という言葉を教えて頂かなければここまで辿りつきませんでした。
sugawataさん、優しく教えて頂きありがとうございました。

投稿2020/04/08 12:06

jyarin

総合スコア12

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

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

0

もしかしてブラウザはクロームをお使いでしょうか?

chrome://flags/#autoplay-policy
にアクセスして
Autoplay policy

No user gesture is required
に変更して
RELAUNCH NOW
を押した後にブラウザをもう一度立ち上げてみてください。

投稿2020/04/08 07:55

sugawata

総合スコア67

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問