0

player.getCurrentTime() を使用して現在の時刻をプレーヤーにポーリングする、古い YouTube フラッシュ API を使用してアプリケーションを作成しました。画面コンポーネントを 25 fps で更新するために、現在 40 ミリ秒間隔でプレーヤーをポーリングしています。この API は iOS ではサポートされていないため、HTML5 API をテストしました。HTML5 API を使用して 40ms という頻度でプレーヤーをポーリングすることはできないようです。約 100 ミリ秒のポーリング間隔で最大になるように見え、画面の更新が非常にぎくしゃくします。これは HTML5 API の既知の制限ですか、それともより細かい間隔でプレーヤーをポーリングする方法はありますか?

4

1 に答える 1

1

ポーリングに使用している関数は何ですか? setInterval または setTimeout を使用している場合は、requestAnimationFrame でぎくしゃくしたパフォーマンスが得られるかどうかを確認できます。

とにかく、それは問題ではないかもしれません。iframe API (HTML5 再生を提供する唯一の API) には、プレーヤーの現在の時刻への詳細なアクセスがありません。実際、iframe 内のプレーヤーは postMessage を実行して getCurrentTime 経由でアクセス可能な時間を 1 秒間に約 5 ~ 6 回更新するだけなので、それ以上頻繁にポーリングすると CPU サイクルが浪費されます。(HTML5ビデオはデフォルトで現在の時刻を1秒間に約50回更新するため、なぜこのようにするのかわかりません)。

于 2013-11-14T08:15:47.050 に答える