@Konboi memo

主に技術に関してつらつらと。

audioタグに関して

audioタグに関してPCのブラウザとスマフォのブラウザで挙動が
微妙にちがかったのでメモっておきます。

今回自分が実装していて違いがあったのは、

  • autoplay
  • autobuffer

(もしかしたら、もっと違いがあるのはあるかも....)

autoplay,autobufferは自動的に再生、読み込みをするものなのでデータの通信が行われる。

つまり、ユーザーが意図せずデータ通信を行うおそれがある。
なので仕様でautoplay,autobufferができない用になってるらしい。

で、色々調べてたらそれを打破する裏技的なものがあったので書いておきます。

      audioObj = document.createElement( 'div' );
      audioObj.id = "voicePlayer";
      audioObj.innerHTML = "<audio src='" + this.rel + "' autoplay='true'></audio>";

      this.appendChild( audioObj );

      //自動再生処理      
      audioObj.load();
      audioObj.play();

autoplay='true'にしても自動再生されません。
だけど

.load() → .play() だと再生される。

とりえあず、以上