はじめに
こちらの記事でご紹介している Power Platformでゲームを作るコミュニティイベント
【JPPGB】ゲーム作成コンテスト #1 に今回も参加しゲームを作成しました。
その際に知見となった点(色々とあるけれど)のひとつをかるーくご紹介いたします。
最初の画面からBGM流れるように作っても(基本は)ブラウザ制御で鳴らないよ!というお話です。
ブラウザだとBGM自動再生は効かない (普通の設定だと)
Power Apps(キャンバスアプリ)でゲームを作成していて、スタート画面でBGMを鳴らす実装したんですが、
公開して確認したらどうやっても最初の画面では自動でBGMがかからない。。と少しハマりました。
編集画面上では自動再生されるので気づきにくいかと思います。
まあ、普通は業務アプリを作るので、そんな所にハマる方はまずいないと思いますが(笑)
Power Apps でゲームを作る同志達に向けwせっかくなので記事にしています。
事象としては最初のスタート画面では自動で音楽が再生されない。ボタンクリックしたりすると鳴ってくれる。
次の画面に進むボタンでページ切り替える→その画面での自動再生は開始される。
要は一番最初に開いたときに鳴らすようにしているBGMが自動では再生されないという事象でした。
参考としたサイトの情報
あれー?としばらくハマっていたのですが、以下のサイトなどで情報が載っていて、
どうやらChromeの機能でBGMの自動再生が制御されているようでした。Edgeでも同様でした。
※むかーしはなかったけど途中からそういった機能が追加された様子。
Chromeバージョンによるaudioの自動再生の挙動について #HTML5 – Qiita
スマホアプリだと大丈夫
ちなみにPower Appsのスマホアプリで開いた際はこの制御はなく最初の画面から自動再生されました!
(これは明示的にアプリ上で開いているからブラウザ的な制御はかけていないということかと)
裏で自動でボタンSelectさせてもダメ
だったらロード用の画面と透明のボタンを用意して、裏でタイマーなんかでそのボタンをSelectさせて自動で次の画面にしてあげたらなるんじゃん!?など思ってやってみたけどダメでした。
ちゃんとユーザーがクリックするなどの操作でないと回避は出来ないようです。
結果的にブラウザの制御によるものなんだー!じゃあしょうがないな。となりました。
普通に考えたら急に音なるの不愉快ですよね💦
普通に考えれば、ブラウジングしてて、急におっきなBGM流れてくるサイトとかイヤですよね。
(そういえば昔はそういったサイトも結構あったような)
なので、もし出来たとしてもそうはせず、むしろ次の画面からは音が鳴るよってことをお知らせしてあげる方が親切だなーと思い直しました。
今回作成したアプリでもスタート画面は以下のようにして、ボタンクリックすると次の画面からBGMが流れ出します。そのことを警告として表示するようにしました。

ブラウザでミュートするには(Edgeの場合)
以下のように音が鳴っているサイト(ページ)ではスピーカーアイコンが出ています。
ここをクリックすればその画面をミュート出来ます。(Edgeの場合、Chromeだと出来なかった)
またはPCの音声自体をミュートすればBGMが不快な場合は音なしに出来ますね。

それでも鳴らしたい場合!(ユーザー側のブラウザ設定が必要)
別の記事で以下の部分を設定すれば、指定したサイトで自動音楽再生を許可できるというのを見て
試したら確かにこの設定で音が鳴るようになりました!
Chrome、Edgeともに同様の設定箇所があり、そこで許可するサイトに登録してもらえればちゃんとなりました。
GoogleChromeで自動再生をオフ・停止にする方法 – Chromebook Chromebookのレビューや使い方 (network-love6.com)
Chromeの場合
ブラウザの…メニューから「設定」→「プライバシートセキュリティー」→「サイトの設定」
→「その他コンテンツの設定」セクションで「音声」を開きます。
ここで、サイトが音声を再生できるようにする。となっているかと思います(自分の場合既定でそうでした)
あれ?鳴るような設定だけどもなーと思いましたがよくわからず。。
→で、下の部分で「音声の再生を許可するサイト」に対象のアプリのURLを追加してあげます。
直接のURLは「chrome://settings/content/sound」です。



サイト単位の設定なのでアプリURLを入れてもPowerAppsのサイトURLまでに調整されます。以下となります。
「https://apps.powerapps.com」

上記を追加後に、今まで鳴らなかった(最初の画面から自動BGM再生するアプリ)を開いたら鳴るように!
→上記を削除してあげたら今まで通り、初回は音が鳴らなくなりました。音声アイコンも消えてますね。


Edgeの場合
同じようにEdgeの場合も近い設定で調整出来ました。
直接のURLは「edge://settings/content/mediaAutoplay」です。
…メニューから「設定」→「Cookieとサイトのアクセス許可」→メディアの自動再生
→既定だとなにも入ってませんのでここに同様にPower AppsプレイヤーのURLを追加します。
「https://apps.powerapps.com」ですね。
※Edgeの場合は現在のInPrivateセッションのみとするオプションもありました。



上記設定後に開きなおすと鳴りだしました。

Power Apps アプリ全体に対しての適用は上記ブラウザ設定で可能
ということで、アプリで自動音楽再生をどうしてもやってもらいたい場合は、上記のブラウザ設定の調整で出来ました。
特定のアプリということは出来ず、あくまでサイト単位なのでPower Apps アプリ全体に適用される感じですね。
業務などでそういったケースがあれば(あるか???)自社のブラウザ設定でユーザーに調整してもらえば対応は出来そうです。あくまでそういったケースがあればの話ですが(笑)そもそも会社PCで音鳴らすってないですよね💦
自動で開始されるって知っていれば問題ないんですが、急に鳴り出すとやっぱり不快かなーと思いました。
おわりに
ということで、今回はゲーム作成中に得た知見+調整も出来るよという点を記事にしました。
まあゲームくらいですかね?こんな調整が必要かもっていうのは。なのでお役には立たないと思いますが、
ゲーム作成する同志に向けた内容ということで。それでは!
この記事は役に立ちましたか?
もし参考になりましたら、下記のボタンで教えてください。
コメント