Хочу сделать приложение "Fake Instagram" Rails. Затем я сделал загрузчик, и я могу загрузить видео (MP4), но нет звука. Я могу слушать звук на своем рабочем столе, но не могу в моем приложении, как это изображение, динамики не работают. введите описание изображения здесь
Код здесь. Я думаю, что-то не так с image_uploader.rb или show. html .erb. Обратите внимание, что сначала я сделал ImageUploader для загрузки изображения, затем я хочу добавить систему публикации видео для загрузки видео. Обе загрузки сделаны, но видео без звука. Спасибо большое за совет!
*image_uploader.rb
require 'streamio-ffmpeg'
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
process resize_to_fit: [230, 183]
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :thumb do
process resize_to_fit: [230, 183]
end
version :screenshot do
process :screenshot
def full_filename (for_file = model.logo.file)
"screenshot.jpg"
end
end
def screenshot
tmpfile = File.join(File.dirname(current_path), "tmpfile")
File.rename(current_path, tmpfile)
movie = FFMPEG::Movie.new(tmpfile)
movie.screenshot(current_path + ".jpg", {resolution: '230x183' }, preserve_aspect_ratio: :width)
File.rename(current_path + ".jpg", current_path)
File.delete(tmpfile)
end
def extension_whitelist
%w(jpg jpeg gif png mp4)
end
end
*show.html.erb
<h1>Stroll</h1>
<p><%= notice %></p>
<p id="error_explanation"></p>
<% if @stroll[:image] == nil %>
<%= image_tag"03summer_ver8-l.jpg", width:"230", height:"183" %>
<% elsif @stroll.image.file.content_type.include?('video/') %>
<%= link_to @stroll.image_url.to_s do %>
<%= image_tag(@stroll.image_url(:screenshot).to_s, id: "image", :alt => "screenshot") %>
<% end %>
<% else %>
<%= image_tag(@stroll.image.url) if @stroll.image && @stroll.image.url %>
<% end %>
<p>user <%= @stroll.user.name %></p>
<p>『<%= @stroll.title %>』</p>
<p>content: <%= @stroll.content %></p>
<p>tag: <%= @stroll.tag %></p>
<p>comment: </p>
<div id="comments_area">
<%= render partial: 'comments/index', locals: { comments: @comments, stroll: @stroll } %>
</div>
<% if user_signed_in? && @stroll.user_id != current_user.id %>
<%= render partial: 'comments/form', locals: { comment: @comment, stroll: @stroll } %>
<% end %>
<% if current_user %>
<% unless @stroll.user_id == current_user.id %>
<% if @favorite.present? %>
<%= link_to 'cancel', favorite_path(id: @favorite.id), method: :delete, class: 'btn btn-info' %>
<% else %>
<%= link_to 'Like!', favorites_path(stroll_id: @stroll.id), method: :post, class: 'btn btn-warning' %>
<% end %>
<% end %>
<% end %>
 
<%= link_to "Index", strolls_path %>