2017-03-02 8 views
0

を転送していない私はここに私のルーティングました:シナトラ(ルビー)アプリはMP4ファイルに正しく

get "/fortytwo" do 
    send_file("42.mp4") 
end 

を、次のようにビデオを再生しなければならないページのための私のHTMLは次のとおりです。

<body> 
    <video controls autoplay> 
     <source src="fortytwo" type="video/mp4"> 
    </video> 
</body> 

しかし、ページを読み込む際に、メディアを再生しない無効なビデオプレーヤーが表示されます。 "dl = 1"でDropboxにアップロードされたビデオのコピーをリンクすると、正常に動作します。

+0

をあなたは/ fortytwoに直接移動するときに何が起こりますか? – eiko

+1

これは参考になるかもしれません:http://stackoverflow.com/a/37570158/295671 – james246

+0

それは同じです。何も再生を拒否するシンプルな無効化されたビデオプレーヤーです。 – Sessho

答えて

0

あなたが投稿したコードはうまくいきますので、問題はSinatra以外の場所にあるはずです。たぶんCORS problem、あなたのHTMLファイルはどこにありますか? Sinatraが実行されているのと同じドメイン上になければなりません。

私は、全体のプログラム(以下)をリメイクし、働いている:

require 'sinatra' 

get "/fortytwo" do 
    send_file("42.mp4") 
end 

get "/" do 
    page = <<-endfile 
    <body> 
    <video controls autoplay> 
    <source src="fortytwo" type="video/mp4"> 
    </video> 
    </body> 
    endfile 
end