使用jPlayer的Grooveshark Public Streaming API

时间:2013-02-12 08:04:37

标签: php html5 streaming jplayer grooveshark

我能够使用公共流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

现在我想解决的问题是: -

  • 在Firefox中获取完整的歌曲持续时间并保留其他类似内容。
  • 在Chrome中保留完整的歌曲持续时间并显示正确的歌曲缓冲量。

所有这一切都应该是可能的,因为groovehark网站本身也使用相同的stream.php文件。

Grooveshark也提供了自己的Flash播放器,但它没有足够的功能,特别是它不是HTML5。

如果使用jPlayer是不可能的,那么请建议我一个更好的替代方案,支持HTML5并且适合流媒体。

1 个答案:

答案 0 :(得分:0)

你可以做的一件事,Grooveshark有时会做的,就是把歌曲的当前长度除以加载的百分比。除了可能的VBR文件之外,这将为您提供对文件实际持续时间的良好估计。您也可以尝试查看ID3标签。