您好我正在尝试从本地存储播放mp4或mp3文件,我知道如何在网络服务器上播放视频。这些文件将下载并存储在我的数据应用程序目录中。
我将详细信息存储在名为@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 :(得分: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="<%=@collateralHM[iconName].fileName%>">
</a>
在控制器类中,处理它的代码如下所示:
# GET /Collateral/playvideo
def playvideo
mediaName = @params['medianame']
System.open_url mediaName
end
希望这有帮助。