cast. 架構。 PlayerManager
控制及監控媒體播放。
- 擲回
-
non-null Error
:如果直接使用建構函式。只需透過呼叫 cast.framework.CastReceiverContext#getPlayerManager 來存取PlayerManager
。
方法
addEventListener
addEventListener(eventType, eventListener)
新增會監聽播放事件的事件監聽器。
參數 |
|
---|---|
eventType |
(非空值的 cast.framework.events.EventType 或非空值 cast.framework.events.EventType) 的非陣列陣列 事件類型或事件類型陣列 |
事件監聽器 |
function(非空值 cast.framework.events.Event) |
- 擲回
-
non-null Error
指定的引數無效。
新增支援的媒體指令
addSupportedMediaCommands(supportedMediaCommands, BroadcastStatus)
將新的支援指令新增至現有支援媒體指令清單。
參數 |
|
---|---|
支援的媒體指令 |
數字 應用程式支援的媒體指令位元遮罩。 |
播送狀態 |
選用 布林值
|
播送狀態
BroadcastStatus(includeMedia、requestId、customData、includeQueueItems)
將媒體狀態訊息傳送給所有寄件者 (廣播)。 應用程式會使用此名稱來傳送自訂狀態變更。
參數 |
|
---|---|
includeMedia |
選用 布林值
|
requestId (要求 ID) |
選用 數字 導致此回應的連入要求 ID。 |
自訂資料 |
選用 物件 狀態訊息應用程式專屬的自訂資料。 值可以是空值。 |
includeQueueItems |
選用 布林值 是否在狀態訊息中加入佇列項目。這些規則都預設為不加入。 |
getAbsoluteTimeForMediaTime
getAbsoluteTimeForMediaTime(mediaTime) 傳回數字
將媒體時間轉換成媒體絕對時間。 絕對時間僅適用於直播影片。
參數 |
|
---|---|
mediaTime (媒體時間) |
數字 媒體時間。 |
- 傳回
-
nullable number
絕對時間,如無法使用,則為null
。
getAudioTracksManager
getAudioTracksManager() 會傳回 cast.framework.AudioTracksManager
取得 AudioTracksManager
例項。
- 傳回
-
non-null cast.framework.AudioTracksManager
getBreakClipCurrentTimeSec
getBreakClipCurrentTimeSec() 會傳回數字
傳回目前播放廣告插播片段的目前時間 (以秒為單位)。
- 傳回
-
nullable number
目前影片插播片段中目前的時間 (以秒為單位)。null
會在Player
不會播放廣告插播片段時顯示。
getBreakClipDurationSec
getBreakClipDurationSec() 會傳回數字
傳回目前播放的剪輯片段剪輯時間長度 (以秒為單位)。
- 傳回
-
nullable number
目前廣告插播片段的時間長度。null
會在Player
不會播放廣告插播片段時產生。
getBreakManager
getBreakManager() 會傳回 cast.framework.breaks.BreakManager
取得 BreakManager
例項。
- 傳回
-
non-null cast.framework.breaks.BreakManager
getBreaks
getBreaks() 會傳回非空值 cast.framework.messages.Break 的陣列
傳回中斷清單。
- 傳回
-
non-null Array of non-null cast.framework.messages.Break
getCurrentSupportedMediaCommands
getCurrentSupportedMediaCommands() 傳回數字
取得目前接收器支援的媒體指令。與 getSupportedMediaCommands()
不同的是,這個方法傳回的值會根據目前的播放狀態而動態變化。舉例來說,在廣告播放期間,系統可能不會支援 SEEK
指令。
這個方法只能在呼叫接收器 CastReceiverContext#start
之後呼叫,否則會傳回 0
。
- 另請參閱
- cast.framework.messages.Command
- 傳回
-
number
應用程式支援的媒體指令位元遮罩。
getCurrentTimeSec
getCurrentTimeSec() 會傳回數字
取得目前媒體的播放播放時間。
- 傳回
-
number
經過時間,以秒為單位。如果沒有播放媒體,這個值就會是0
。
getDurationSec
getDurationSec() 會傳回數字
取得目前播放媒體的時間,以秒為單位。
- 傳回
-
number
媒體的時間長度。如果沒有任何播放媒體,則為NaN
。
getLiveSeekableRange
getLiveSeekableRange() 會傳回 cast.framework.messages.LiveSeekableRange
傳回可搜尋的範圍,包含開始時間和結束時間 (以秒為單位)。這些值是以媒體時間為依據。
- 傳回
getMediaInformation
getMediaInformation() 會傳回 cast.framework.messages.MediaInformation
取得目前媒體的媒體資訊。
- 傳回
getMediaTimeForAbsoluteTime
getMediaTimeForAbsoluteTime(corTime) 傳回數字
將媒體絕對時間轉換成媒體時間。絕對時間僅適用於直播影片。
參數 |
|
---|---|
絕對時間 |
數字 媒體的絕對時間,以 UNIX 紀元時間 (Unix 紀元時間算起的秒數) 表示。 |
- 傳回
-
nullable number
媒體時間。null
getplayConfig
getplayConfig() 會傳回 cast.framework.playConfig
傳回播放設定。
- 傳回
-
nullable cast.framework.PlaybackConfig
getplayRate
getplayRate() 傳回數字
傳回目前的播放速率。
在呼叫接收器 CastRecevierContext#start
之前傳回 1
。
- 傳回
-
number
目前播放速率。
getPlayerState
getPlayerState() 會傳回 cast.framework.messages.PlayerState
取得 Player
狀態。
- 傳回
-
non-null cast.framework.messages.PlayerState
目前Player
的狀態。
getPreferred 播放速率
getPreferredplayRate() 傳回數字
取得偏好的播放速率。 可在關閉事件時,將最新的偏好播放速率儲存至永久儲存空間,讓使用者在投放選項的下一個工作階段中使用。
- 傳回
-
number
getPreferredText 語言
getPreferredTextLanguage() 傳回字串
使用偏好的文字軌。
- 傳回
-
nullable string
getPreferredText 樣式
getPreferredTextStyle() 會傳回 cast.framework.messages.TextTrackStyle
取得偏好的文字軌樣式。
- 傳回
getQueueManager
getQueueManager() 會傳回 (cast.framework.QueueManager 或未定義)
取得 QueueManager
例項。
- 傳回
-
(non-null cast.framework.QueueManager or undefined)
getRawCurrentTimeSec
getRawCurrentTimeSec() 會傳回數字
取得目前媒體的播放進度,而無需減去廣告插播時間。
- 傳回
-
number
經過時間,以秒為單位。如果沒有播放媒體,這個值就會是0
。
getStartAbsoluteTime
getStartAbsoluteTime() 傳回數字
取得絕對媒體開始時間,以 UNIX 紀元時間 (自 Unix 紀元時間算起的秒數) 表示。 絕對時間僅適用於直播影片。
- 傳回
-
nullable number
getStats
getStats() 會傳回 cast.framework.Stats
傳回播放統計資料。系統會視情況彙整整個播放工作階段的統計資料。
- 傳回
-
non-null cast.framework.Stats
getSupportedMediaCommands
getSupportedMediaCommands() 傳回數字
取得接收器支援的媒體指令。只有在呼叫 CastReceiverContext#start()
後才能呼叫,否則會傳回 0
。支援的媒體指令值僅由接收器應用程式控管。不會根據 MediaStatus
自動更新。
- 另請參閱
- cast.framework.messages.Command
- 傳回
-
number
應用程式支援的媒體指令位元遮罩。
getTextTracksManager
getTextTracksManager() 會傳回 cast.framework.TextTracksManager
取得 TextTracksManager
例項。
- 傳回
-
non-null cast.framework.TextTracksManager
getTimedMetadata
getTimedMetadata() 會傳回非空值 cast.framework.TimedMetadata
傳回資訊清單剖析期間遇到的計時中繼資料。這是 HLS 中的 #EXT-X-DATERANGE
和 DASH 的 EventStream
。
- 傳回
-
non-null Array of non-null cast.framework.TimedMetadata
堆
load(loadRequest) 傳回包含空白的 Promise
發出媒體載入要求。
參數 |
|
---|---|
loadRequest |
cast.framework.messages.LoadRequestData 載入媒體的要求。 值不得為空值。 |
- 傳回
-
non-null Promise containing void
作業成功後如已解決,或失敗時已解析的承諾。
暫停
pause()
暫停目前正在播放的媒體。
play
play()
播放目前暫停的媒體。
移除事件監聽器
removeEventListener(eventType, eventListener)
移除為特定播放事件新增的事件監聽器。 如果沒有相符的事件監聽器,系統會忽略這個呼叫。
參數 |
|
---|---|
eventType |
(非空值的 cast.framework.events.EventType 或非空值 cast.framework.events.EventType) 的非陣列陣列 eventType 或事件類型的陣列 |
事件監聽器 |
function(非空值 cast.framework.events.Event) |
移除支援的媒體指令
removeSupportedMediaCommands(supportedMediaCommands, BroadcastStatus)
從支援的媒體指令清單中移除指令。
參數 |
|
---|---|
支援的媒體指令 |
數字 應用程式支援的媒體指令位元遮罩。 |
播送狀態 |
選用 布林值
|
seek
尋找(尋找)
在目前的媒體中尋找。
參數 |
|
---|---|
尋求時間 |
數字 |
傳送自訂狀態
sendCustomState(state)
將自訂狀態從應用程式播放邏輯傳送至 UI 邏輯。這個方法有助於區分播放邏輯和使用者介面。如果維持邏輯和 UI 之間的區隔,就能允許本機播放與遠端控制使用相同的 UI 邏輯。這個方法傳送的自訂狀態可透過 PlayerData
存取 UI。
參數 |
|
---|---|
州 |
物件 自訂狀態物件。 值不得為空值。 |
傳送錯誤
sendError(senderId, requestId, type, reason, customData)
傳送錯誤給特定寄件者。
參數 |
|
---|---|
寄件者 ID |
string 傳送者 ID。 |
requestId (要求 ID) |
數字 導致這個錯誤的連入要求 ID。 |
type |
cast.framework.messages.ErrorType 錯誤類型。 值不得為空值。 |
原因 |
選用 cast.framework.messages.ErrorReason 錯誤原因。 值可以是空值。 |
自訂資料 |
選用 物件 錯誤訊息應用程式專屬的自訂資料。 值可以是空值。 |
傳送本地媒體請求
sendLocalMediaRequest(要求)
傳送本機媒體要求。
參數 |
|
---|---|
申請。 |
cast.framework.messages.RequestData 值不得為空值。 |
傳送狀態
sendStatus(senderId, requestId, includeMedia, customData, includeQueueItems)
將媒體狀態訊息傳送給特定寄件者。
參數 |
|
---|---|
寄件者 ID |
string 傳送者 ID。 |
requestId (要求 ID) |
數字 導致此回應的連入要求 ID。 |
includeMedia |
選用 布林值
|
自訂資料 |
選用 物件 狀態訊息應用程式專屬的自訂資料。 值可以是空值。 |
includeQueueItems |
選用 布林值 是否在狀態訊息中加入佇列項目。這些規則都預設為不加入。 |
setIdleReason
setIdleReason(idleReason)
設定玩家處於 IDLE
狀態的原因。這可讓希望強制 IDLE
狀態的應用程式指出這麼做的原因 (例如自訂錯誤)。系統會在下一個狀態訊息中傳送閒置原因。注意:大多數應用程式都不需要設定這個值。只有在應用程式需要讓 Player
於特殊情況下將 IDLE
進入 IDLE
狀態,且預設的 DefaultReason 無法反映預期的行為時,才需要使用這個屬性。
參數 |
|
---|---|
閒置原因 |
cast.framework.messages.IdleReason 處於 值不得為空值。 |
setMediaElement
setMediaElement(mediaElement)
設定要使用的 HTMLMediaElement
。如果設定了 HTMLMediaElement
的 Promise
,媒體則會在解析 Promise
後開始播放。
參數 |
|
---|---|
媒體元素 |
(非空值的 HTMLMediaElement 或包含非空值 HTMLMediaElement 的非空值 Promise)
|
setMediaInformation
setMediaInformation(mediaInformation, Opt_broadcast)
設定媒體資訊。
參數 |
|
---|---|
媒體資訊 |
cast.framework.messages.MediaInformation 值不得為空值。 |
Opt_broadcast |
選用 布林值 |
設定媒體播放資訊處理常式
setMediaplayInfoHandler(處理常式)
設定為特定載入要求傳回或修改 cast.framework.playConfig 的處理常式。處理常式參數是接收器的 LoadRequestData
和預設 PlaybackConfig
(在 CastReceiverOptions
中提供)。處理常式應傳回經過修改的播放設定,或 null
避免媒體播放。傳回值也可以是 Promise
,以便等待伺服器提供的資料。
參數 |
|
---|---|
處理常式 |
function(非空值的 cast.framework.messages.LoadRequestData、非空值的 cast.framework.playConfig) 提供要求專屬播放設定的函式。 值可以是空值。 |
setMediaUrlResolver
setMediaUrlResolver(解析器)
設定處理常式以傳回 LOAD
要求的媒體網址。這個處理常式可用於避免將媒體內容網址發布至媒體狀態。根據預設,媒體 contentId
用做內容網址。
參數 |
|
---|---|
解析器 |
function(非空值 cast.framework.messages.LoadRequestData) 解析媒體內容網址的函式。 值可以是空值。 |
setMessageInterceptor
setMessageInterceptor(type, Interceptor)
設定連入和傳出訊息的攔截器。攔截器可以更新要求資料,並傳回已更新的資料、具有更新資料的 Promise
(如果無法立即傳回資料),或應null
(如果無法處理要求)。注意:如果提供 LOAD
訊息攔截器,但未提供個別的 PRELOAD
攔截器,則系統會針對 PRELOAD
訊息呼叫 LOAD
攔截器。
參數 |
|
---|---|
type |
cast.framework.messages.MessageType 值不得為空值。 |
攔截器 |
function(非空值 cast.framework.messages.RequestData) 值可以是空值。 |
設定播放設定
setplayConfig(playbackConfig)
設定 PlayerManager
的播放設定。
參數 |
|
---|---|
播放設定 |
值不得為空值。 |
setSupportedMediaCommands
setSupportedMediaCommands(supportedMediaCommands, BroadcastStatus)
設定接收器支援的媒體指令。
參數 |
|
---|---|
支援的媒體指令 |
數字 應用程式支援的媒體指令位元遮罩。 |
播送狀態 |
選用 布林值
|
停止
stop()
停止目前播放的媒體。