HTMLで作成したPageで、音声Fileが
自動再生できません。
環境
Windows 10 pro 1903
Google Chromeme 81.0.4044.138
問題となるHTMLの記述
・
<iframe src="StarWars.mp3" allow="autoplay"
style="display:none" id="audio">
</iframe>
・
原因と対処方法を、ご教授ねがいます。
通常は、audio要素で再生するものですが、
audio要素は試しましたか?
Safari, Chromeの自動再生ポリシー変更により
直接<audio>では自動再生されないとの
情報に基づき
<iframe・・・・
でのこころみとなっています。
もちろん
<audio autoplay ・・・・
では実験しましたが自動再生はされません。
情報源
https://qiita.com/ktknest/items/e81b3a4caac540098fc8
情報は3年前と古いので、今は変わっているかもしれません。
ただ、試してダメだった、となると・・・。
(逆に最新では、iframeでも禁止になった可能性もある)
JavaScriptにて、ファイルロード後に、再生を実行する、といったことは試されましたか??
JavaScriptは、まったく書いたことがなかったので
当該資料から引用してTestしてみましたが
自動再生されません。
ただし、JavaScriptが無効なのか
私の書いたものが、まちがいなのか
自分では判断できません。
**** 以下 実験したCode ***
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>sample</title>
</head>
<body>
** Autoply Test **
<br>
<br>
<script language="javascript" type="text/javascript">
var music = new Audio();
function init()
{
music.preload = "auto";
music.src = "StarWars.mp3";
music.load();
music.play();
}
init();
</script>
<br>
</body>
</html>
************************
Autoplayが可能な
Sampleをいただけると
幸いです。
そのソースコードは、質問本文に記載をお願いします。
```html
ここにソースコード
```
の形式でお願いします。
また、もう一点質問です。
Webサーバーでの実行でしょうか、
ローカルでのHTMLファイルの実行(ブラウザでファイルを直接表示)
でしょうか?
もしかしたら、ローカルだと、ファイルのアクセス権限の関係でだめかもしれません。
1. Localに作成したものを直接ブラウザーにかけて表示。
2. Localに作成したものを、XAMPP(Apache)経由で表示。
3. 別PCに作成したものをRemote(Network経由)で表示。
a.<iframe>
b.<audio>
c.<JavaScript>
の組み合わせ(9通り)いずれも機能しません。
** Autoply Test ** は、いずれの場合も
表示されますので access には問題ないと
考えられます。
また、音声File(StarWars.mp) not found などの
Error Message もでません。
原因追及や修正の
方法にはこだわらないので
なにか Autoplayが機能している
実例はありませんでしょうか?
なるほど・・・。
わかりました、私も調査していきます。
初発で、自動再生は、やっぱできない可能性はありますが・・・、
ユーザーのあるアクションを挟めば、確実に再生されはするのですが・・・。
何かそこらへんにヒントがありそうな気はしてます。