Closed atori74 closed 3 years ago
scanCurrentTimeは 1秒おきに実行されて再生地点を取得、storageに保存する
一方 sendPlaybackPositionは 5秒おきにstoregeを見に行って、最新のplaybackPositionをサーバーに送信する
scanとsendが非同期で動いている以上、 scanとsendのタイミングに最大1秒のラグが発生しうる
解決策としては scanの1秒おきのタイミングで、何回かに一回sendも行う sendとscanは同期的にして、sendのたびにscanを行う
scanの実行は割と簡単になった
まず、PBの取得とRoomへの送信を異なる頻度で実行する意味はない。 5秒に一回しか送らないのなら、5秒に一回PBを取得すれば十分。
つまりscanとsendは同期的かつ同時に実行するよう変更する。
scanCurrentTimeは 1秒おきに実行されて再生地点を取得、storageに保存する
一方 sendPlaybackPositionは 5秒おきにstoregeを見に行って、最新のplaybackPositionをサーバーに送信する
scanとsendが非同期で動いている以上、 scanとsendのタイミングに最大1秒のラグが発生しうる