iphone - Rails 3 Webrick 和加载 iPhone/iPad 视频 ( mp4 m4v ) 视频文件的问题

标签 iphone ruby-on-rails-3 mime-types mp4 m4v

我正在尝试让 Rails (3.0.0) 在 html5 视频 block 中为 iphone 提供一个简单的 m4v 视频文件。为了理智起见,我使用来自 http://camendesign.com/code/video_for_everybody 的大兔子视频我知道它已针对 iphone 进行了正确编码并且可以正常工作

当我在 apache 服务器上运行它时,它运行得很好。但在我的 Rails 开发环境中,它只是加载一个带有斜线的黑框。我的直觉告诉我这一定是某种 mime 问题。

我尝试将这些行添加到我的 mime_types.rb 文件中:

Mime::Type.register "video/mp4", :mp4
Mime::Type.register "video/mp4", :m4v

Rack::Mime::MIME_TYPES.merge!({
  ".ogg"     => "application/ogg",
  ".ogx"     => "application/ogg",
  ".ogv"     => "video/ogg",
  ".oga"     => "audio/ogg",
  ".mp4"     => "video/mp4",
  ".m4v"     => "video/mp4",
  ".mp3"     => "audio/mpeg",
  ".m4a"     => "audio/mpeg"
})

但运气不佳。有些人建议将此行也添加到 mime_types 文件中

MIME::Type.add(MIME::Type.from_array("video/mp4", %(m4v))

但这会导致此错误:

NameError: uninitialized constant MIME
    from (irb):4
    from /Users/theshaolinmonk/.rvm/gems/ruby-1.9.2-p0@rails3/gems/railties-3.0.0/lib/rails/commands/console.rb:44:in `start'
    from /Users/theshaolinmonk/.rvm/gems/ruby-1.9.2-p0@rails3/gems/railties-3.0.0/lib/rails/commands/console.rb:8:in `start'
    from /Users/theshaolinmonk/.rvm/gems/ruby-1.9.2-p0@rails3/gems/railties-3.0.0/lib/rails/commands.rb:23:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

有人有什么想法吗?

最佳答案

也许将以下行添加到您的 Gemfile 中?

gem 'mime-types', :require => 'mime/types'

关于iphone - Rails 3 Webrick 和加载 iPhone/iPad 视频 ( mp4 m4v ) 视频文件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4125867/

相关文章:

ruby-on-rails - 带有 S3 on Rails 3 的回形针/未初始化的常量 AWS::S3::Connection

ruby-on-rails - 如何让 Rails 不忽略路由中的尾部斜杠?

ruby-on-rails - 安装mysql2(0.3.16)时出错,Bundler无法继续

iis - 带有 Mime 映射的无扩展 URL

xml - 我如何强制浏览器呈现文件 XHTML5,HTML5 的 XML 序列化?

email - 您能确定一封电子邮件是否仅从电子邮件标题中包含附件吗

iphone - mobilesubstrate 可以 Hook 这个吗?

iphone - CoreData(IOS)对多列的唯一约束?

iphone - 在 Mapkit 中显示附近的商家

iphone - 在 iPhone 上制作条形图