結論を申し上げます。
ページロード時の、オーディオの自動再生は、
現状では不可能になります。
不可能な理由
Webポリシーに反するため
メディアおよびウェブオーディオ API の自動再生ガイド - Web メディア技術 | MDN
自動再生と自動再生のブロック
用語「自動再生(autoplay)」は、ユーザーが再生の開始を明確に要求しなくても音声の再生を開始させる機能を意味します。 これには、メディアの自動再生のための HTML 属性の使用と、ユーザー入力を処理するコンテキストの外で再生を開始するための JavaScript コードのユーザーの両方が含まれます。
ユーザーの観点からは、警告なしに自発的にノイズを発し始めるウェブページまたはアプリは、耳障り、不便、または気まずいものになる可能性があります。 そのため、ブラウザーでは通常、特定の状況下でのみ自動再生が正常に行われるようにすることしかできません。
とある通りです。
Chromeなどのモダンブラウザは、これに準拠していると思われるため、
あらゆる自動再生をブロックします。
調査したところ、一年少々以前にあった、無音音楽ファイルをiframe
要素にて先に再生させることによって制限解除するという荒技も、現在のブラウザではブロックされております。
つまり、ユーザーのなにかしろのアクションがなければ(要素のクリック、オンマウス、ユーザーの行動から成り立つ処理、など)を介さないと、再生ができません。
要素にクリックイベントを付与し、その要素の自動クリックの際もブロックされます。
だからといって、body
要素のオンマウスで再生しようとしても、それもブロックされております。
こればかりは、もう、泣き寝入りして、ユーザーに何かをクリックしてもらうかなんかするしかありません。
SPA(シングルページアプリケーション)を使えばなんとかなるかもしれない
では、なぜYouTubeを始めとする、多くの動画サイトが自動再生を現代でも可能としているか。
ソースを細かく見てみましたが、
独自フレームワークによる、SPAで実装している可能性があります。
SPAがなんなのかは、説明すると長くなるので割愛しますが、
簡単に言うと、そのページに止まりながら、複数ページへ遷移している、ように見せるものです。
(実際に多くのフレームワークは閲覧履歴をJSによって挟んだりしている)
つまり、動画のサムネイルをクリックしてページ遷移しているように見えるだけで、
中のDOMをコントロールしているだけで、根本的にはページ遷移はしていないので、
ユーザーのクリック動作を挟んでいると認識させ、自動再生を実現している可能性があります。
逆を返せば、通常の遷移で、HTML要素のみで自動再生を行うのは、やはり不可能でしょう。