CoWatchingClient

@PublicApi
public interface CoWatchingClient



同時視聴セッションを表します。

最近のユーザー操作(再生、一時停止、シークなど)と、メディアのバッファリングによる遅延などの環境的要因を Meet に通知します。

まとめ

定数

default static final double

最大許容プレイアウト レート。

default static final double

1 秒あたりに許可されるシークの最大数。

パブリック メソッド

abstract void
notifyBuffering(Duration mediaPlayoutPosition)

前のメディア切り替え、メディアシーク、通常のネットワークの輻輳などにより、バッファリングのためにメディアを再生する準備ができていないことを Meet に通知します。

abstract void
notifyEnded(Duration mediaPlayoutPosition)

メディア プレーヤーが現在のメディアの最後に達したことを Meet に通知します。

abstract void
notifyPauseState(boolean paused, Duration mediaPlayoutPosition)

ユーザーがメディアの再生を一時停止または一時停止解除したことを Meet に通知し、その操作を Meet が他のユーザーにミラーリングできるようにします。

abstract void
notifyPlayoutRate(double rate, Duration mediaPlayoutPosition)

ユーザーがメディアの再生速度を更新したことを Meet に通知します(例:

abstract void

キューが変更されたことを Meet に通知し、他のユーザーにそれをミラーリングできるようにします。

abstract void
notifyReady(Duration mediaPlayoutPosition)

バッファリングが完了し、メディアを再生できる準備が整ったことを、指定したタイムスタンプから開始することを Meet に通知します。

abstract void
notifySeekToTimestamp(Duration mediaPlayoutPosition)

ユーザーがメディアの再生ポイントをシークしたことを Meet に通知し、そのアクションを他のユーザーにミラーリングできるようにします。

abstract void
notifySwitchedToMedia(
    String mediaTitle,
    String mediaId,
    Duration mediaPlayoutPosition
)

ユーザーがメディアを切り替えたことを Meet に通知し、それを Meet が他のユーザーに伝えられるようにする

abstract void
notifySwitchedToMedia(
    String mediaTitle,
    String mediaId,
    Duration mediaPlayoutPosition,
    CoWatchingQueue queue
)

ユーザーがメディアを切り替えたことを Meet に通知し、シミュレーション キューの更新を使用してそれを他のユーザーに渡すようにします。

定数

MAX_PLAYOUT_RATE

default static final double MAX_PLAYOUT_RATE = 2.0

最大許容プレイアウト レート。

MAX_SEEKS_PER_SECOND

default static final double MAX_SEEKS_PER_SECOND = 0.9

1 秒あたりに許可されるシークの最大数。

パブリック メソッド

notifyBuffering

abstract void notifyBuffering(Duration mediaPlayoutPosition)

前のメディア切り替え、メディアシーク、通常のネットワークの輻輳などにより、バッファリングのためにメディアを再生する準備ができていないことを Meet に通知します。

パラメータ
Duration mediaPlayoutPosition

メディアが一時停止する位置(バッファリングの完了を待機)

例外
java.lang.NullPointerException

mediaPlayoutPosition が null の場合

com.google.android.meet.addons.AddonException

予期しないエラーが発生した場合

java.lang.IllegalStateException

同時視聴セッションの終了後に呼び出された場合

notifyEnded

abstract void notifyEnded(Duration mediaPlayoutPosition)

メディア プレーヤーが現在のメディアの最後に達したことを Meet に通知します。

注: メディアが終了した直後に自動再生メカニズムを介して通知された SwitchedToMedia が呼び出される場合、このメソッドの呼び出しは必須ではありません(ただし、有害ではありません)。

パラメータ
Duration mediaPlayoutPosition

プレーヤーの最終的な位置

例外
java.lang.NullPointerException

mediaPlayoutPosition が null の場合

com.google.android.meet.addons.AddonException

予期しないエラーが発生した場合

java.lang.IllegalStateException

同時視聴セッションの終了後に呼び出された場合

notifyPauseState

abstract void notifyPauseState(boolean paused, Duration mediaPlayoutPosition)

ユーザーがメディアの再生を一時停止または一時停止解除したことを Meet に通知し、その操作を Meet が他のユーザーにミラーリングできるようにします。

パラメータ
boolean paused

一時停止の場合は true、再生が再開された場合は false

Duration mediaPlayoutPosition

メディアが一時停止または一時停止解除された位置

例外
java.lang.NullPointerException

mediaPlayoutPosition が null の場合

com.google.android.meet.addons.AddonException

予期しないエラーが発生した場合

java.lang.IllegalStateException

同時視聴セッションの終了後に呼び出された場合

notifyPlayoutRate

abstract void notifyPlayoutRate(double rate, Duration mediaPlayoutPosition)

ユーザーがメディアの再生速度を更新したことを Meet に通知します(例:1.25 倍)を新しい値に変更します。

パラメータ
double rate

メディアの再生速度

Duration mediaPlayoutPosition

プレーヤーの現在の位置

例外
java.lang.IllegalStateException

rate が正数でない場合

java.lang.IllegalStateException

rateMAX_PLAYOUT_RATE より大きい場合

com.google.android.meet.addons.AddonException

予期しないエラーが発生した場合

java.lang.IllegalStateException

同時視聴セッションの終了後に呼び出された場合

notifyQueueUpdate

abstract void notifyQueueUpdate(CoWatchingQueue queue)

キューが変更されたことを Meet に通知し、他のユーザーにそれをミラーリングできるようにします。

パラメータ
CoWatchingQueue queue

アドオンアプリのキューに関する情報

例外
java.lang.NullPointerException

queue が null の場合

com.google.android.meet.addons.AddonException

予期しないエラーが発生した場合

java.lang.IllegalStateException

同時視聴セッションの終了後に呼び出された場合

notifyReady

abstract void notifyReady(Duration mediaPlayoutPosition)

バッファリングが完了し、メディアを再生できる準備が整ったことを、指定したタイムスタンプから開始することを Meet に通知します。

パラメータ
Duration mediaPlayoutPosition

メディアがバッファされて再生可能な位置

例外
java.lang.NullPointerException

mediaPlayoutPosition が null の場合

com.google.android.meet.addons.AddonException

予期しないエラーが発生した場合

java.lang.IllegalStateException

同時視聴セッションの終了後に呼び出された場合

notifySeekToTimestamp

abstract void notifySeekToTimestamp(Duration mediaPlayoutPosition)

ユーザーがメディアの再生ポイントをシークしたことを Meet に通知し、そのアクションを他のユーザーにミラーリングできるようにします。

パラメータ
Duration mediaPlayoutPosition

ユーザーがシークした時点のタイムスタンプ

例外
java.lang.NullPointerException

mediaPlayoutPosition が null の場合

com.google.android.meet.addons.AddonException

予期しないエラーが発生した場合

java.lang.IllegalStateException

同時視聴セッションの終了後に呼び出された場合

java.lang.IllegalStateException

1 秒あたりのシーク数が MAX_SEEKS_PER_SECOND より大きい場合

notifySwitchedToMedia

abstract void notifySwitchedToMedia(
    String mediaTitle,
    String mediaId,
    Duration mediaPlayoutPosition
)

ユーザーがメディアを切り替えたことを Meet に通知し、それを Meet が他のユーザーに伝えられるようにする

パラメータ
String mediaTitle

切り替わったメディアのタイトルなどですこのタイトルは、他のユーザーが同時視聴セッションへの接続を検討しているときに、Meet UI に反映されます。

String mediaId

切り替え先のメディアの文字列 URI

Duration mediaPlayoutPosition

メディアの再生が開始された位置

例外
java.lang.NullPointerException

mediaId または mediaPlayoutPosition が null の場合

com.google.android.meet.addons.AddonException

予期しないエラーが発生した場合

java.lang.IllegalStateException

同時視聴セッションの終了後に呼び出された場合

notifySwitchedToMedia

abstract void notifySwitchedToMedia(
    String mediaTitle,
    String mediaId,
    Duration mediaPlayoutPosition,
    CoWatchingQueue queue
)

ユーザーがメディアを切り替えたことを Meet に通知し、シミュレーション キューの更新を使用してそれを他のユーザーに渡すようにします。

パラメータ
String mediaTitle

切り替わったメディアのタイトルなどですこのタイトルは、他のユーザーが同時視聴セッションへの接続を検討しているときに、Meet UI に反映されます。

String mediaId

切り替え先のメディアの文字列 URI

Duration mediaPlayoutPosition

メディアの再生が開始された位置

CoWatchingQueue queue

アドオンアプリのキューに関する情報

例外
java.lang.NullPointerException

mediaIdmediaPlayoutPosition、または queue が null の場合

com.google.android.meet.addons.AddonException

予期しないエラーが発生した場合

java.lang.IllegalStateException

同時視聴セッションの終了後に呼び出された場合