Php 带有jPlayer的Grooveshark公共流媒体API
我能够使用Grooveshark的公共流媒体API从Grooveshark流媒体播放歌曲。 我在jPlayer(jPlayer.org)上使用这个,它正确地流式播放歌曲 但问题是,在Firefox中,歌曲的完整持续时间一直从00:00增加到歌曲的完整长度。基本上,完整歌曲持续时间是缓冲歌曲的数量 例如,长度为04:00的歌曲开始缓冲。现在,当缓冲歌曲的四分之一时(即01:00分钟),jPlayer将歌曲的持续时间显示为01:00分钟,而它应该是04:00分钟 截图:(歌曲播放总时长为05:06分钟) 在Google Chrome中(在最新版本中选中),歌曲的完整持续时间会显示出来,而jplayer显示,即使从歌曲开始,整个歌曲都会被缓冲 屏幕截图:(Chrome显示完整歌曲已缓冲,但仍在缓冲中) jPlayer首先使用HTML5,如果HTML5不受支持,则返回flash。 Google Chrome支持使用HTML5播放mp3(Grooveshark stream是一种mp3)。 但是Firefox不支持HTML5中的mp3 所以很明显,Firefox使用的是flash,Chrome使用的是HTML5 现在我想解决的问题是:-Php 带有jPlayer的Grooveshark公共流媒体API,php,html,streaming,jplayer,grooveshark,Php,Html,Streaming,Jplayer,Grooveshark,我能够使用Grooveshark的公共流媒体API从Grooveshark流媒体播放歌曲。 我在jPlayer(jPlayer.org)上使用这个,它正确地流式播放歌曲 但问题是,在Firefox中,歌曲的完整持续时间一直从00:00增加到歌曲的完整长度。基本上,完整歌曲持续时间是缓冲歌曲的数量 例如,长度为04:00的歌曲开始缓冲。现在,当缓冲歌曲的四分之一时(即01:00分钟),jPlayer将歌曲的持续时间显示为01:00分钟,而它应该是04:00分钟 截图:(歌曲播放总时长为05:06分
- 在Firefox中获得完整的歌曲时长,并保持其他内容不变。
- 在Chrome中保持歌曲的完整持续时间,并显示正确的歌曲缓冲量。
如果jPlayer无法做到这一点,那么请向我推荐一个更好的替代方案,它支持HTML5并适合流媒体播放。您可以做的一件事,Grooveshark有时会做,就是将歌曲的当前长度除以加载的百分比。这将使您能够很好地估计文件的实际持续时间(可能不包括VBR文件)。您也可以尝试查看ID3标签。查看类似标签issue@Baba我无法控制stream.php,因为它位于Grooveshark的末端。当我在Firebug中检查stream.php的头时,Content Length的头已经设置好了。谢谢James。我使用了这些方法,Javascript无法读取ID3标记,因为链接是跨域的。使用PHP,我只能通过curl将歌曲临时下载到本地目录,然后获取其ID3标记来获取ID3标记。这种方法不会长期有效。当尝试使用currentLength/percentLoaded方法时。这不会返回精确的值,并且相差0-6秒。GrooveSharkAPI中是否有任何方法可以返回歌曲的持续时间,或者将来是否有可能有这样的方法?好的,问题出在哪里了。我检查currentLength/percentLoaded方法的文件是VBR,正如您所说,它不适用于VBR文件。在Grooveshark.com上检查了同一首歌,并且那里的持续时间也显示错误。CBR文件工作正常。标记为正确答案。。。谢谢!如果Grooveshark API返回歌曲持续时间和其他歌曲信息以解决VBR文件的此问题,那就更好了。不幸的是,我们在后端没有歌曲持续时间。对于某些文件,我们有一个持续时间的估计值,以及何时可以使用该估计值。你应该从API中得到一些我们估计持续时间的文件。