Rhomobile,播放视频本地存储



嗨,我正在尝试从本地存储播放mp4或mp3文件,我知道如何在web服务器上播放视频。这些文件被下载并存储在我的data app目录中。

我将详细信息存储在名为@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>

所以你可以看到,我正在检查文件类型是什么,并显示它们,我可以显示图像没有问题。但是当我点击链接播放视频时,我得到一个加载页面错误或页面未定义。我知道文件的位置与at . data给出的目录文件,如下所示。/数据/数据/com.rhomobile.appname rhodata/应用程序/filename.extension

我们可以使用以下方法在点击超链接时启动视频:

附加一个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="<%=@collateralHM[iconName].fileName%>">
</a>

在控制器类中,处理这个的代码如下:

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

最新更新