java safari_java – Safari中的HTML5视频不工作

在我们的Java EE应用程序中,我们使用HTML5< video>用于播放MP4视频的标签。

我们使用JBoss 7作为应用服务器。视频通过Struts2操作检索,如下所示:www.myproject.com/namespace/documents/3/zbRdTKQKLWnA2ZiY61Gx

其中zbRdTKQKLWnA2ZiY61Gx是服务器上的视频名称。

struts.xml:

...

{1}

{2}

video/mp4

flux

true

inline;filename=${filename}

...

它可以在Chrome和Firefox中正常工作,但不能在Mac上使用Safari。

在Safari中,当我打开包含< video>标签,显示“加载”,但不加载视频。

这里真是奇怪的事情。

如果链接直接在浏览器中粘贴到视频,则播放正确。

然后,如果我重新加载该视频的页面,它播放正常。

应用程序中的所有视频都会发生同样的情况。

发生什么事 ?为什么视频首先不播放?

Safari中的开发工具:

当我最初加载页面时,我得到以下结果:

NZYwk.png

所有警告都是针对CSS。

第一次直接在浏览器中打开文件时,我得到:

yrNG8.png

错误是“无法加载资源:由模块处理的负载”:

b1s2p.png

当我重新加载页面时,我得到相同的回复,但现在我可以播放视频:

tW8gU.png

我认为问题来自范围标题。

其实我用这个:

this.getServletResponse().setHeader("Accept-Ranges", "bytes");

this.getServletResponse().setHeader("Content-Type", "video/mp4");

this.getServletResponse().setHeader("Content-Length", "383631"); // 383631 - just for exemple, I use a real size

this.getServletResponse().setHeader("Content-Range", "bytes 0-383630/383631"); // 0-383630/383631 - the same

this.getServletResponse().setStatus(206);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值