2011-10-28 110 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中創建的控制器上調用方法並傳遞視頻路徑作爲參數。代碼如下:

<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> 

在控制器類,來處理這個代碼如下:

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

希望這有助於。