0

iframeを使用して、多くのサイトで静的プレーヤーの実装に成功しています。これはこれまでの私の目的を果たしており、実現するのは少し複雑です。私はしばしば、phpのGET変数を介して「フレーム」状態を渡す必要がありました。私のクライアントは彼らの側で表示の問題を抱えていました、そしてURLがアドレスバーに表示されるのを見るのは素晴らしいことです、それは今私に私のアプローチを再考するようにさせます。

Beatportのhtml5プレーヤーのソースを見ると、JavaScriptでインスタンス化されたプレーヤーを使用しているようです。これは、非常に分析されており、正確に見えます。それで...彼らはプレーヤーの状態を追跡し、これらの変数をあるページから別のページに渡しますか?彼らのプラットフォームは何ですか?php w / ajax?node.js?ルビー?この非同期I/Oは機能していますか?それとも、html5のオーディオオブジェクトによってもたらされるクールさですか?将来のアプリケーションのためにメソッド全体を再配置する必要があるかもしれないので、これは私が理解したいことです。

さらに、soundcloudプレーヤーのAPIは進行状況の場所を吐き出しますか?どんな助けでも大歓迎です。

4

1 に答える 1

1

Beatport Webサイトが完全なajaxであることがわかる限り、実際のページのリロードはありません。リンクをクリックすると、メインサイトのコンテンツが動的にリロードされます。アドレスバーの場所の変更は、javascript(http://stackoverflow.com/questions/1457/modify-address-bar-url-in-ajax-app-to-match-current-state)で実行できます。

この種の機能には、ある種のフレームワークを使用することをお勧めします。私はPHPフレームワークの状況に精通していませんが、この種の機能を提供しているように見えるhttp://agiletoolkit.org/についてSOで聞いています。

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');
});
于 2013-01-05T20:21:38.737 に答える