CoWatchingClient

@PublicApi
public interface CoWatchingClient



代表共同觀看工作階段。

向 Meet 通知 Meet 使用者近期執行的動作 (例如播放/暫停/跳轉),以及因媒體緩衝處理而延遲等環境因素。

摘要

常數

default static final double

允許的播放率上限。

default static final double

每秒允許的跳轉次數上限。

公用方法

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 佇列已變更,以便 Meet 為其他使用者建立鏡像。

abstract void
notifyReady(Duration mediaPlayoutPosition)

通知 Meet 緩衝處理已完成,且媒體已可播放 (從提供的時間戳記開始)。

abstract void
notifySeekToTimestamp(Duration mediaPlayoutPosition)

通知 Meet 使用者已尋找媒體的播放點,讓 Meet 可以將該動作指派給其他使用者。

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

通知 Meet 使用者已切換媒體,讓 Meet 將該內容傳送給其他使用者。

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

通知 Meet 使用者切換媒體並提供模擬諾斯佇列更新,讓 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

每秒允許的跳轉次數上限。

公用方法

notifyBuffering

abstract void notifyBuffering(Duration mediaPlayoutPosition)

通知 Meet,由於先前媒體開關、媒體跳轉或網路壅塞情形,導致媒體仍有緩衝處理,而無法播放。

參數
Duration mediaPlayoutPosition

媒體暫停的位置,正在等待緩衝處理完成

擲回
java.lang.NullPointerException

如果 mediaPlayoutPosition 為空值

com.google.android.meet.addons.AddonException

如果發生未預期的錯誤

java.lang.IllegalStateException

如果在共同觀看工作階段結束後呼叫

notifyEnded

abstract void notifyEnded(Duration mediaPlayoutPosition)

通知 Meet,媒體播放器已到達目前媒體的結尾。

注意:如果在媒體結束時透過自動播放機制呼叫 notificationSwitchedToMedia,則不需要呼叫這個方法 (但不會造成傷害)。

參數
Duration mediaPlayoutPosition

播放器的最終位置

擲回
java.lang.NullPointerException

如果 mediaPlayoutPosition 為空值

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 為空值

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

如果 rate 大於 MAX_PLAYOUT_RATE

com.google.android.meet.addons.AddonException

如果發生未預期的錯誤

java.lang.IllegalStateException

如果在共同觀看工作階段結束後呼叫

notifyQueueUpdate

abstract void notifyQueueUpdate(CoWatchingQueue queue)

通知 Meet 佇列已變更,以便 Meet 為其他使用者建立鏡像。

參數
CoWatchingQueue queue

外掛程式應用程式佇列相關資訊

擲回
java.lang.NullPointerException

如果 queue 為空值

com.google.android.meet.addons.AddonException

如果發生未預期的錯誤

java.lang.IllegalStateException

如果在共同觀看工作階段結束後呼叫

notifyReady

abstract void notifyReady(Duration mediaPlayoutPosition)

通知 Meet 緩衝處理已完成,且媒體已可播放 (從提供的時間戳記開始)。

參數
Duration mediaPlayoutPosition

媒體緩衝處理並準備好播放的位置

擲回
java.lang.NullPointerException

如果 mediaPlayoutPosition 為空值

com.google.android.meet.addons.AddonException

如果發生未預期的錯誤

java.lang.IllegalStateException

如果在共同觀看工作階段結束後呼叫

notifySeekToTimestamp

abstract void notifySeekToTimestamp(Duration mediaPlayoutPosition)

通知 Meet 使用者已尋找媒體的播放點,讓 Meet 可以將該動作指派給其他使用者。

參數
Duration mediaPlayoutPosition

使用者跳出的時間戳記

擲回
java.lang.NullPointerException

如果 mediaPlayoutPosition 為空值

com.google.android.meet.addons.AddonException

如果發生未預期的錯誤

java.lang.IllegalStateException

如果在共同觀看工作階段結束後呼叫

java.lang.IllegalStateException

如果每秒搜尋次數大於 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

如果 mediaIdmediaPlayoutPosition 為空值

com.google.android.meet.addons.AddonException

如果發生未預期的錯誤

java.lang.IllegalStateException

如果在共同觀看工作階段結束後呼叫

notifySwitchedToMedia

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

通知 Meet 使用者切換媒體並提供模擬諾斯佇列更新,讓 Meet 可以將該內容傳送給其他使用者。

參數
String mediaTitle

改為播放媒體標題如有其他使用者考慮連線至共同觀看工作階段,Meet UI 中就會顯示這個標題。

String mediaId

媒體的字串 URI 已切換為

Duration mediaPlayoutPosition

媒體開始播放時的位置

CoWatchingQueue queue

外掛程式應用程式佇列相關資訊

擲回
java.lang.NullPointerException

如果 mediaIdmediaPlayoutPositionqueue 為空值

com.google.android.meet.addons.AddonException

如果發生未預期的錯誤

java.lang.IllegalStateException

如果在共同觀看工作階段結束後呼叫