環境
mac book
chrome(バージョン: 71.0.3578.98(Official Build) (64 ビット))
原因を探す
エラー文は「Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first.」
エラー文ググってみたらChrome側で問題があるよ的な記事がいくつか出てきた。
クロームは音声の自動再生に対して、制限がされているそうだ。
試しにSafariで開いてみたら問題なく再生はされるが、どうしてもChromeが使いたい(なんとなく)
※これはあくまでローカルでの解決であって一般公開するのでれば他のユーザーはChromeの設定は変わらない状態なので解決するのは自分の環境のみです。
全てのユーザーが音が鳴る状態にしたければ音声再生系のライブラリ使えばいいです。
解決方法
chrome://flags/#autoplay-policy
上記URLにアクセス。
「Autoplay policy」という部分の選択ボックスがあるので、「No user gesture is required」に変更。
「変更内容は次に Google Chrome を再起動したときに有効になります。」って表示されるので、その右のボタンの「RELAUNCH NOW」を押してブラウザを再起動します。
音が鳴るようになりました
感想
Nodeまだわからないことが多いけど楽しい