我能够使用公共流API从Grooveshark流式传输歌曲。 我正在使用它与jPlayer(jplayer.org),它正确地流式传输歌曲。
但问题是Firefox中的 (在最新版本上检查)歌曲的完整持续时间从00:00开始持续增加到完整的歌曲长度。基本上,完整的歌曲持续时间是缓冲的歌曲数量。
例如一首长度为04:00的歌曲分钟开始缓冲。现在当缓冲歌曲的四分之一(即01:00分钟)时, jPlayer将歌曲持续时间显示为01:00 分钟,而应该是04:00分钟。
屏幕截图:(这首歌的总长度为05:06分钟)
http://i.stack.imgur.com/wzxPx.png
在谷歌浏览器中(在最新版本上查看)显示歌曲的完整持续时间,并且jplayer显示即使从歌曲的开头也可以缓存整首歌曲
屏幕截图(Chrome显示整首歌已缓存,但仍在缓冲中)
http://i.stack.imgur.com/PSkct.png
如果不支持HTML5,jPlayer首先使用HTML5并回退到flash。 谷歌Chrome支持使用HTML5播放mp3(Grooveshark流是一个mp3)。 但Firefox不支持HTML5中的mp3。
很明显 Firefox正在使用Flash而Chrome正在使用HTML5 。
现在我想解决的问题是: -
所有这一切都应该是可能的,因为groovehark网站本身也使用相同的stream.php文件。
Grooveshark也提供了自己的Flash播放器,但它没有足够的功能,特别是它不是HTML5。
如果使用jPlayer是不可能的,那么请建议我一个更好的替代方案,支持HTML5并且适合流媒体。
答案 0 :(得分:0)
你可以做的一件事,Grooveshark有时会做的,就是把歌曲的当前长度除以加载的百分比。除了可能的VBR文件之外,这将为您提供对文件实际持续时间的良好估计。您也可以尝试查看ID3标签。