Reputation: 5871
Since this Chrome issue resulted in jPlayer 1.6.0 using the Flash solution for mp3 playback in Chrome 36, I've discovered my mp3s won't play via the Flash plugin. The mp3s play fine via the HTML5 solution in Firefox 30 and IE 11.
Note I'm not interested in fixing playback to use HTML 5 instead of Chrome - the newest version of jPlayer does that. Instead, I want to understand why playback via Flash is not working.
The mp3s are hosted on archive.org.
What I observe when I start playing is that in the Chrome Network inspector, I get one request for the mp3 URL with Status Finished, and then another request for the same URL that sits in Status (pending) forever.
What I see in Firefox from the HTML5 solution is two requests to the mp3 URL that both receive 302 redirects, and then a long running request to the actual mp3 URL which successfully streams the mp3 for playback
jPlayer inspector shows the progress and timeupdate metrics twitching between 3 and 4, and loadstart, play and waiting having all occurred but sit at 0.
So I think the Flash player isn't handling the redirect probably. But I'm unsure of how to go about troubleshooting this issue.
I've created a JSFiddle http://jsfiddle.net/e4WnF/4/ to demonstrate the issue.
I've attempted to use Wireshark to work out what is going on. Whilst with Firefox using the HTML 5 player I see the GET request that results in a 302, I see no sign of this GET request under Chrome.
I've worked around the issue by moving to jPlayer 1.6.4, but this doesn't change the fact that my mp3s will not work in browsers without HTML 5 audio support.
Thanks
Upvotes: 1
Views: 424
Reputation: 689
This is a problem affecting loads of people, and it's caused by a recent Chrome change, which has now been rolled back, however until that filters through to the updates, you'll need to make some changes. Over at the jPlayer group there are at least ten threads and a jplayer bug ticket about this issue. There's also a Chrome bug tracker ticket about this.
It turns out that jPlayer and other sites like Soundcloud weren't actually sticking to the RFC 3003 spec, and when Chrome tightened up their code, this broke it. Chrome have now rolled back this change, but until that filters through, you can either download the latest jplayer code from github, or make the following immediate change to the jquery.jplayer.js file around line 696 so that it looks like this:
mp3: {
//codec: 'audio/mpeg; codecs="mp3"',
codec: 'audio/mpeg',
flashCanPlay: true,
media: 'audio'
},
Please let me know if this fixes things.
Upvotes: 1