我正在尝试写一个基于HTML5的last.fm播放器,使用流行的jPlayer jQuery插件(http://jplayer.org)。该播放器在Firefox中工作正常。然而,我遇到了一个问题:从last.fm应用程序接口(http://last.fm/api)中,我获得了一个播放列表,其中包含指向文件的urls。当请求其中之一时,last.fm会执行HTTP302重定向,从play.last.fm重定向到类似"http://s03.last.fm/someurl/128.mp3“的内容。
看起来HTML5标签有一些同源策略,因为jPlayer不能在Chrome和Chromium中播放文件。如果jPlayer使用flash解决方案(使用"flash,html“而不是"html,flash"),一切都会正常工作。
我在我的Ubuntu上安装了额外的编解码器,对于jPlayer演示来说,mp3播放效果很好。
流服务器不支持HEAD请求。我已经尝试执行一个普通的GET请求,然后尝试获取xmlhttprequest的"Location“头,但由于安全错误而失败。
您可以在https://github.com/tburny/html5-lastfm-player上找到我的(概念验证)项目的源代码
这个问题有什么提示/解决方案吗?
发布于 2012-04-21 03:33:46
我也有类似的问题,但只在android浏览器上。这里面有很多陷阱。关键的问题是,如果原始的url是302,而最终的url是https?如果是这样的话,它将失败。
查看此测试套件http://areweplayingyet.org/
https://stackoverflow.com/questions/9943501
复制相似问题