2011-10-28 1 views
0

こんにちは私はローカルストレージからmp4またはmp3ファイルを再生しようとしています、それはWebサーバー上にあるときにビデオを再生する方法を知っています。これらのファイルはダウンロードされ、データアプリディレクトリに保存されます。Rhomobile、ビデオローカルストレージを再生する

@Attachmentsという配列に詳細を格納します。私は次に、各添付ファイルの詳細を表示する次のコードを持っています。

 @attachments.each do |att| 
      if att.MimeType=~ /image/ 
      %> <img src="<%=att.Data%>" height="100" width="100" alt="Attachment Image"> </img> 
      <br/><br/> 
      <% elsif att.MimeType=~ /video/ %> 
      <p> File Location - <%= att.Data %> </p> 
      <a href="<%= att.Data %>">Play Video - <%= att.Title %></a><br/><br/><% 
      else 
      %> 
      <a href="">View Attachment - <%= att.Title %></a><br/><br/><% 
      end 
     end 
     %> 
    <p> 

ご覧のとおり、ファイルの種類が表示されているかどうかを確認していますが、画像を表示できます。しかし、ビデオを再生するためにリンクをクリックすると、ページを読み込む際にエラーが発生するか、または定義されていないページが表示されます。ファイルがどこにあるのか知っていますが、att.Dataはファイルにディレクトリを与え、次のようになります。 /data/data/com.rhomobile.appname/rhodata/apps/filename.extension

ここにお手伝いいただきありがとうございます。

答えて

0

我々は、次のアプローチを使用して、ハイパーリンクのクリックでビデオを起動することができました:

ハイパーリンクのクリックイベントを処理するためにjqueryのスクリプトを添付

。 clickイベントでは、RhoMobileで作成されたコントローラのメソッドを呼び出し、ビデオパスをパラメータとして渡しました。コードは次のようになります。

# GET /Collateral/playvideo 
def playvideo 
    mediaName = @params['medianame']  
    System.open_url mediaName 
end 

・ホープ、このことができます:コントローラクラスで

<a href="#" id="hyperlink_id"> 
    <script> 
    $('#hyperlink_id').click(function() { 
     $.get("/app/Collateral/playmedia?medianame=path_to_video", 
      function(data) {}); 
      }); 
    </script> 
    <img src="<%[email protected][iconName].fileName%>"> 
</a> 

、これを処理するコードは次のようになります。

関連する問題