お仕事で、iOSでのvideo自動再生に大苦戦したのでメモ。


問題点

JSで以下のようにコードを書いたところ、

  videoElement.autoplay = true;

  videoElement.loop = true; 

  videoElement.muted = true; 

  video.playsinline = true;


Unhandled Promise Rejection: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission.

のエラーが出て、再生できなかった。


mutedもplaysinlineも付けてるのに、なんで?



解決策

  videoElement.autoplay = true; 

  videoElement.loop = true; 

  videoElement.muted = true; 

  videoElement.setAttribute("playsinline", "");


playsinlineはsetAttributeで追加する必要あり。

もう忘れない〜っ!



参考

JavaScriptで自動再生のvideoを埋め込む時の注意点