我们想要分享jPlayer和IIS的一个奇怪问题,并分享适用于我们的解决方案。
我们有一个基于C#/ VB.NET / ASP.NET构建的站点。运行IIS 7.5(2008 R2服务器)。使用jPlayer插件,我们能够在Firefox中使音频(.mp3)正常工作,但在Chrome,Safari或IE8 +中无效。
一些小提琴手工作了,我们的开发人员能够注意到Firefox中出现的字节并没有在Chrome或IE中出现。这样就可以解释为什么音频没有播放。由于某种原因,标题并没有完全出现。这是jPlayer site上有一些HTML5浏览器的已知问题。
做了一些谷歌和研究我偶然发现了一个值得一试的IIS设置,所以我做了它并且它有效!您需要进入该站点的 HTTP响应标题选项并添加以下设置:
Accept-Ranges bytes
其中Accept-Ranges是Name,bytes是值。
在web.config文件中,它看起来像这样:
<httpProtocol>
<customHeaders>
<add name="Accept-Ranges" value="bytes" />
</customHeaders>
</httpProtocol>
添加此设置并刷新Chrome,Safari和IE8后,音频播放成功。
在SO上的任何地方都没有看到这个记录,所以想把这篇文章发给那些可能遇到类似问题的人。
希望这可以帮助其他可能遇到jPlayer和IIS相同问题的人。可能会为您节省几个小时的研究时间。