0

2 台の iOS デバイスがあり、両方に同じビデオのコピーがあります。両方のデバイスが Bluetooth 経由で通信しています。ビデオは一方のデバイスでのみ再生され、もう一方はリモコンです。「リモート コントロール」デバイスには、ビデオの継続時間を示すスクラバーが必要です。

スクラバーをビデオの再生と同期させる最善の方法は何ですか?

ビデオの再生には AVPlayer を使用し、Bluetooth 接続には Gamekit を使用しています。

4

1 に答える 1

0

へー、まあ、それは仕事をするのが楽しいでしょう。レイテンシは常に発生するものであるため、軽減戦略が必要です。人々がラグに対処する特定の方法を検討することをお勧めします。私が提案できることの 1 つは、2 つのメッセージ タイプを重要なものと重要でないものに分けることです。たとえば、停止/一時停止/再生/再起動のコマンドは、私にとって重要です。あなたはそのメッセージが届くことを望み、それが届くまで努力を続けます.

両方向 (プレーヤーからリモート、リモートからプレーヤー) でスクラバーの位置を変更するなどのメッセージは重要ではありません。あなたはそれらを送信していますが、応答を確認したり、それらが配信されていることを確認したりするために時間を無駄にすべきではありません. UDPとTCPの違いに似ています。これらは接続を介して送信されるだけで、基本的にパッケージは (scrubberposition, position_as_time, identifier_number ) よりも複雑ではありません。取得した最後の ID 番号 (ID 番号は単調に増加する番号) を記録し、これより低い番号のメッセージを破棄し、それよりも大きい番号の位置に更新し、格納されている ID_番号を更新します。

これが理にかなっている/役立つことを願っています。さらに説明する必要がある場合はお知らせください。幸運を祈ります

于 2013-02-14T00:46:20.643 に答える