video要素やaudio要素がJavaScriptで再生できたりできなかったりする

Webページ上でvideo要素やaudio要素を再生するためにJavaScriptでplay()メソッドを使っても再生できない場合があります。また、別のタイミングでは再生できる場合もあります。

これは、突然の音声による迷惑を防止するためのブラウザの自動再生防止機能が原因として考えられます。この機能は事前にページに対して操作がされないと、動画や音声の再生をさせないという機能です。ページに対する操作は何でもよく、機能のないボタンをクリックしても、何でもないページの一部をクリックしても動画や音声の自動再生が可能となります。この自動再生防止機能を知らないと、動画や音声が再生されない原因を追及中に、無意識にページの何でもない部分をクリックしてしまい、現象の再現に失敗してしまうことになります。

対策はコンテンツ開始のためのボタンを作ることです。また、動画の音声をmutedにより止めておくと、動画だけの自動再生ができることもあるようです。