玩家状态在beatport与iframe上实现了javascript? soundcloud支持?

时间:2013-01-05 20:12:45

标签: javascript html5 audio iframe soundcloud

我使用iframe在我的许多网站上成功实施了静态播放器。到目前为止,这已经达到了我的目的,并且实现起来有点复杂。我经常需要通过php中的GET变量传递'frame'状态。我的一个客户一直在显示问题,很高兴看到地址栏中显示的网址,现在让我重新思考我的方法。

在查看Beatport的html5播放器来源时,似乎他们正在使用一个javascript实例化播放器,它看起来非常剖析和精确。那么......他们是否跟踪玩家状态并将这些变量从一个页面传递到另一个页面?他们的平台是什么? php w / ajax? Node.js的?红宝石?这个异步i / o在工作吗?或者只是html5音频对象提供的酷感?这是我想要理解的,因为我可能需要重新定位我的整个方法以供将来的应用程序使用。

此外,soundcloud播放器API是否会吐出进度位置?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

据我所知,Beatport网站是完整的ajax,没有实际的页面重新加载,当您点击链接时,主要网站内容会动态重新加载。地址栏中的位置更改可以通过javascript(http://stackoverflow.com/questions/1457/modify-address-bar-url-in-ajax-app-to-match-current-state)

我建议使用某种框架来实现这种功能。我不熟悉PHP框架的情况,但在SO上听说http://agiletoolkit.org/似乎提供了这种功能

Soundloud播放器确实“吐”了更新。它的API在此处记录:

http://developers.soundcloud.com/docs/custom-player#events

  播放器时,

onMediaTimeUpdate.scPlayer 会不断触发   正在播放,可用于显示音轨之外的进度   玩家节点

$(document).bind('onMediaTimeUpdate.scPlayer', function(event){
console.log(event.target, 'the track is at ' + event.position + ' out of ' + event.duration    + ' which is ' + event.relative + ' of the total');
});