#Railsのvideo_tagを使用した実装
Railsで画像を表示させる時はimage_tag
を使用しますが、動画を再生したい時にはvideo_tag
を使用します。
ところがどっこい動画が再生されないのはどうしてなのでしょう!
ちなみにRailsの公式ドキュメントは以下です。
#再生されない記述
<% @posts.each do |post| %>
<%= video_tag(post.movie, size: "500x300", autoplay: true) %>
<% end %>
postsテーブルのmovieカラムからデータをとってきています。
動画サイズを500×300に指定、autoplay: true
とすることで自動再生されるはず、、、されません。
#原因とコード追加
Rails公式ドキュメントを見てもらえればわかる通り、muted
というオプションがあります。
デフォルトだとmuted: folse
となっており、音声再生が行われる状態になっています。
自動で音声などが再生され始めるとユーザーにとって負担となるため、Chromeではautoplay
とmuted
がどちらも有効になっていないと自動再生されないようです。
muted
を追加した記述が以下です。
<% @posts.each do |post| %>
<%= video_tag(post.movie, size: "500x300", autoplay: true, muted: true) %>
<% end %>
#おわりに
読んでいただきありがとうございました。
どなたかの動画再生で役に立てば幸いです。