CoWatchingClient

@PublicApi
interface CoWatchingClient


代表共同觀看工作階段。

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

摘要

常數

const Double

允許的播放率上限。

const Double

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

公用函式

Unit
notifyBuffering(mediaPlayoutPosition: Duration!)

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

Unit
notifyEnded(mediaPlayoutPosition: Duration!)

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

Unit
notifyPauseState(paused: Boolean, mediaPlayoutPosition: Duration!)

通知 Meet 使用者暫停或取消暫停播放媒體,讓 Meet 向其他使用者鏡像投放該動作。

Unit
notifyPlayoutRate(rate: Double, mediaPlayoutPosition: Duration!)

通知 Meet 使用者已更新媒體的播放率 (例如

Unit

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

Unit
notifyReady(mediaPlayoutPosition: Duration!)

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

Unit
notifySeekToTimestamp(mediaPlayoutPosition: Duration!)

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

Unit
notifySwitchedToMedia(
    mediaTitle: String!,
    mediaId: String!,
    mediaPlayoutPosition: Duration!
)

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

Unit
notifySwitchedToMedia(
    mediaTitle: String!,
    mediaId: String!,
    mediaPlayoutPosition: Duration!,
    queue: CoWatchingQueue!
)

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

常數

MAX_PLAYOUT_RATE

const val MAX_PLAYOUT_RATE = 2.0: Double

允許的播放率上限。

MAX_SEEKS_PER_SECOND

const val MAX_SEEKS_PER_SECOND = 0.9: Double

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

公用函式

notifyBuffering

fun notifyBuffering(mediaPlayoutPosition: Duration!): Unit

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

參數
mediaPlayoutPosition: Duration!

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

擲回
java.lang.NullPointerException

如果 mediaPlayoutPosition 為空值

com.google.android.meet.addons.AddonException

如果發生未預期的錯誤

java.lang.IllegalStateException

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

notifyEnded

fun notifyEnded(mediaPlayoutPosition: Duration!): Unit

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

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

參數
mediaPlayoutPosition: Duration!

播放器的最終位置

擲回
java.lang.NullPointerException

如果 mediaPlayoutPosition 為空值

com.google.android.meet.addons.AddonException

如果發生未預期的錯誤

java.lang.IllegalStateException

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

notifyPauseState

fun notifyPauseState(paused: Boolean, mediaPlayoutPosition: Duration!): Unit

通知 Meet 使用者暫停或取消暫停播放媒體,讓 Meet 向其他使用者鏡像投放該動作。

參數
paused: Boolean

true (已暫停) 或 false (繼續播放)

mediaPlayoutPosition: Duration!

媒體暫停或取消暫停的位置

擲回
java.lang.NullPointerException

如果 mediaPlayoutPosition 為空值

com.google.android.meet.addons.AddonException

如果發生未預期的錯誤

java.lang.IllegalStateException

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

notifyPlayoutRate

fun notifyPlayoutRate(rate: Double, mediaPlayoutPosition: Duration!): Unit

通知 Meet 使用者已更新媒體的播放率 (例如1.25 倍) 的新值。

參數
rate: Double

媒體的播放速率

mediaPlayoutPosition: Duration!

播放器目前的位置

擲回
java.lang.IllegalStateException

如果 rate 不是正數

java.lang.IllegalStateException

如果 rate 大於 MAX_PLAYOUT_RATE

com.google.android.meet.addons.AddonException

如果發生未預期的錯誤

java.lang.IllegalStateException

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

notifyQueueUpdate

fun notifyQueueUpdate(queue: CoWatchingQueue!): Unit

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

參數
queue: CoWatchingQueue!

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

擲回
java.lang.NullPointerException

如果 queue 為空值

com.google.android.meet.addons.AddonException

如果發生未預期的錯誤

java.lang.IllegalStateException

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

notifyReady

fun notifyReady(mediaPlayoutPosition: Duration!): Unit

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

參數
mediaPlayoutPosition: Duration!

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

擲回
java.lang.NullPointerException

如果 mediaPlayoutPosition 為空值

com.google.android.meet.addons.AddonException

如果發生未預期的錯誤

java.lang.IllegalStateException

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

notifySeekToTimestamp

fun notifySeekToTimestamp(mediaPlayoutPosition: Duration!): Unit

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

參數
mediaPlayoutPosition: Duration!

使用者跳出的時間戳記

擲回
java.lang.NullPointerException

如果 mediaPlayoutPosition 為空值

com.google.android.meet.addons.AddonException

如果發生未預期的錯誤

java.lang.IllegalStateException

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

java.lang.IllegalStateException

如果每秒搜尋次數大於 MAX_SEEKS_PER_SECOND

notifySwitchedToMedia

fun notifySwitchedToMedia(
    mediaTitle: String!,
    mediaId: String!,
    mediaPlayoutPosition: Duration!
): Unit

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

參數
mediaTitle: String!

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

mediaId: String!

媒體的字串 URI 已切換為

mediaPlayoutPosition: Duration!

媒體開始播放時的位置

擲回
java.lang.NullPointerException

如果 mediaIdmediaPlayoutPosition 為空值

com.google.android.meet.addons.AddonException

如果發生未預期的錯誤

java.lang.IllegalStateException

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

notifySwitchedToMedia

fun notifySwitchedToMedia(
    mediaTitle: String!,
    mediaId: String!,
    mediaPlayoutPosition: Duration!,
    queue: CoWatchingQueue!
): Unit

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

參數
mediaTitle: String!

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

mediaId: String!

媒體的字串 URI 已切換為

mediaPlayoutPosition: Duration!

媒體開始播放時的位置

queue: CoWatchingQueue!

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

擲回
java.lang.NullPointerException

如果 mediaIdmediaPlayoutPositionqueue 為空值

com.google.android.meet.addons.AddonException

如果發生未預期的錯誤

java.lang.IllegalStateException

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