通訊協定
ActiveSession
在 fuchsia.media.sessions2/discovery.fidl 中定義的
用於在裝置上觀看目前進行中媒體工作階段的通訊協定。
目前進行中的媒體工作階段是最近的媒體工作階段 系統顯示「正在播放」保持狀態。
WatchActiveSession
觀看執行中的工作階段。我們會立即回應第一項要求 與目前執行中的工作階段相同一律將要求保留期間等待接收 回覆。
要求
<空白>
回應
名稱 | 類型 |
---|---|
session |
SessionControl?
|
探索
定義於 fuchsia.media.sessions2/discovery.fidl
「Discovery
」會觀察已發布媒體工作階段的集合
並連接用戶端
ConnectToSession
會連線至 session_id
的 SessionControl
(如有)。捨棄
其他指定管道
要求
名稱 | 類型 |
---|---|
session_id |
SessionId
|
session_control_request |
server_end<SessionControl>
|
WatchSessions
連線至以指定選項設定的工作階段看守工具。
要求
名稱 | 類型 |
---|---|
watch_options |
WatchOptions
|
session_watcher |
SessionsWatcher
|
ObserverDiscovery
定義於 fuchsia.media.sessions2/discovery.fidl
「ObserverDiscovery
」會觀察已發布媒體工作階段的集合
,並在沒有播放控制項的情況下,將用戶端連至這些用戶端以進行觀察。
ConnectToSession
會連線至 session_id
的 SessionObserver
(如有)。捨棄
其他指定管道
要求
名稱 | 類型 |
---|---|
session_id |
SessionId
|
session_request |
server_end<SessionObserver>
|
WatchSessions
連線至以指定選項設定的工作階段看守工具。
要求
名稱 | 類型 |
---|---|
watch_options |
WatchOptions
|
sessions_watcher |
SessionsWatcher
|
播放器
在 fuchsia.media.sessions2/player.fidl 中定義
Player
是媒體播放器的控制代碼。不支援的指令如下:
免人工管理。諮詢「PlaybackCapabilities
」,該問題已傳送
指令。
BindVolumeControl
繫結至工作階段的控制和通知音量控制項。如果未啟用這個方法
其中缺少 HAS_GAIN_CONTROL
標記,表示支援這項功能
PlayerCapabilities
,以 volume_control_request
傳遞的管道帳號代碼已關閉
以及服務本身
要求
名稱 | 類型 |
---|---|
volume_control_request |
server_end<fuchsia.media.audio/VolumeControl>
|
NextItem
將媒體變更為下一個項目 (例如播放清單中的下一首歌曲)。如果未啟用這個方法
其中缺少 CHANGE_TO_NEXT_ITEM
標記,表示支援這項功能
PlayerCapabilities
,這個方法不會有任何作用。
要求
<空白>
暫停
暫停播放並保留媒體中的位置。如果系統不支援上述方法
如果 PlayerCapabilities
中沒有 PAUSE
標記,此方法就不會有任何作用。
要求
<空白>
播放
播放媒體。如果缺少 PLAY
指出不支援此方法
標記,PlayerCapabilities
,這個方法就沒有作用。
要求
<空白>
PrevItem
將媒體變更為上一個項目。如果未啟用這個方法
其中不含 CHANGE_TO_PREV_ITEM
標記
PlayerCapabilities
,這個方法不會有任何作用。
要求
<空白>
搜尋
跳轉到媒體中的特定位置。導入完全不須付費
如果位置超出範圍,則輸入錯誤狀態。position
是指從媒體開頭的偏移值。如果上述方法不支援這個方法
如果 PlayerCapabilities
中沒有 SEEK
標記,此方法就不會有任何作用。
要求
名稱 | 類型 |
---|---|
position |
zx/Duration
|
SetPlaybackRate
設定媒體的播放速率。這不會改變播放模式。如果這個方法
不支援 SET_PLAYBACK_RATE
標記中缺少的 SET_PLAYBACK_RATE
標記
PlayerCapabilities
,這個方法不會有任何作用。
要求
名稱 | 類型 |
---|---|
playback_rate |
float32
|
SetRepeatMode
將重複模式設為任一支援的重複模式。
這個方法是否生效,取決於 PlayerCapabilities
和 repeat_mode
:
要求
名稱 | 類型 |
---|---|
repeat_mode |
RepeatMode
|
SetShuffleMode
設定隨機播放模式。如果缺少
PlayerCapabilities
中的 SHUFFLE
旗標,這個方法不會執行任何動作。
要求
名稱 | 類型 |
---|---|
shuffle_on |
bool
|
SkipForward
根據播放器的預設略過次數,向媒體略過內容。如果不支援這個方法
如 PlayerCapabilities
中缺少 SKIP_FORWARD
旗標,此方法
什麼都不做。
要求
<空白>
SkipReverse
根據播放器的預設略過金額,在媒體中略過元素。如果未啟用這個方法
從 PlayerCapabilities
中缺少 SKIP_REVERSE
旗標表示支援
此方法不會有任何作用。
要求
<空白>
停止
停止播放。工作階段應會關閉,
要求
<空白>
WatchInfoChange
使用懸掛的 get 模式取得淨玩家資訊變更。
要求
<空白>
回應
名稱 | 類型 |
---|---|
player_info_delta |
PlayerInfoDelta
|
PlayerControl
在 fuchsia.media.sessions2/player.fidl 中定義
媒體播放器的控制項,PlayerCapabilities
表示應用程式中有哪些方法
播放器可支援的通訊協定。由於功能是動態的,用戶端無法
一律知道方法呼叫觸及服務時將支援哪些功能
呼叫不支援的方法會直接忽略。一般來說,客戶
預期方法能夠運作,除非播放器表示能持續支援。
BindVolumeControl
繫結至工作階段的控制和通知音量控制項。如果未啟用這個方法
其中缺少 HAS_GAIN_CONTROL
標記,表示支援這項功能
PlayerCapabilities
,以 volume_control_request
傳遞的管道帳號代碼已關閉
以及服務本身
要求
名稱 | 類型 |
---|---|
volume_control_request |
server_end<fuchsia.media.audio/VolumeControl>
|
NextItem
將媒體變更為下一個項目 (例如播放清單中的下一首歌曲)。如果未啟用這個方法
其中缺少 CHANGE_TO_NEXT_ITEM
標記,表示支援這項功能
PlayerCapabilities
,這個方法不會有任何作用。
要求
<空白>
暫停
暫停播放並保留媒體中的位置。如果系統不支援上述方法
如果 PlayerCapabilities
中沒有 PAUSE
標記,此方法就不會有任何作用。
要求
<空白>
播放
播放媒體。如果缺少 PLAY
指出不支援此方法
標記,PlayerCapabilities
,這個方法就沒有作用。
要求
<空白>
PrevItem
將媒體變更為上一個項目。如果未啟用這個方法
其中不含 CHANGE_TO_PREV_ITEM
標記
PlayerCapabilities
,這個方法不會有任何作用。
要求
<空白>
搜尋
跳轉到媒體中的特定位置。導入完全不須付費
如果位置超出範圍,則輸入錯誤狀態。position
是指從媒體開頭的偏移值。如果上述方法不支援這個方法
如果 PlayerCapabilities
中沒有 SEEK
標記,此方法就不會有任何作用。
要求
名稱 | 類型 |
---|---|
position |
zx/Duration
|
SetPlaybackRate
設定媒體的播放速率。這不會改變播放模式。如果這個方法
不支援 SET_PLAYBACK_RATE
標記中缺少的 SET_PLAYBACK_RATE
標記
PlayerCapabilities
,這個方法不會有任何作用。
要求
名稱 | 類型 |
---|---|
playback_rate |
float32
|
SetRepeatMode
將重複模式設為任一支援的重複模式。
這個方法是否生效,取決於 PlayerCapabilities
和 repeat_mode
:
要求
名稱 | 類型 |
---|---|
repeat_mode |
RepeatMode
|
SetShuffleMode
設定隨機播放模式。如果缺少
PlayerCapabilities
中的 SHUFFLE
旗標,這個方法不會執行任何動作。
要求
名稱 | 類型 |
---|---|
shuffle_on |
bool
|
SkipForward
根據播放器的預設略過次數,向媒體略過內容。如果不支援這個方法
如 PlayerCapabilities
中缺少 SKIP_FORWARD
旗標,此方法
什麼都不做。
要求
<空白>
SkipReverse
根據播放器的預設略過金額,在媒體中略過元素。如果未啟用這個方法
從 PlayerCapabilities
中缺少 SKIP_REVERSE
旗標表示支援
此方法不會有任何作用。
要求
<空白>
停止
停止播放。工作階段應會關閉,
要求
<空白>
出版商
定義於 fuchsia.media.sessions2/publisher.fidl
Publisher
會發布媒體播放器,提高曝光度,
由擁有權限的客戶控制。
發布
要求
名稱 | 類型 |
---|---|
player |
Player
|
registration |
PlayerRegistration
|
回應
名稱 | 類型 |
---|---|
session_id |
SessionId
|
SessionControl
在 fuchsia.media.sessions2/discovery.fidl 中定義的
控制媒體工作階段及查看其狀態。
如果媒體工作階段停止,管道就會關閉。
BindVolumeControl
繫結至工作階段的控制和通知音量控制項。
要求
名稱 | 類型 |
---|---|
volume_control_request |
server_end<fuchsia.media.audio/VolumeControl>
|
NextItem
將媒體變更為下一個項目 (例如播放清單中的下一首歌曲)。
要求
<空白>
暫停
暫停播放並保留媒體中的位置
要求
<空白>
播放
播放媒體。
要求
<空白>
PrevItem
將媒體變更為上一個項目。
要求
<空白>
搜尋
跳轉到媒體中的特定位置。導入完全不須付費
如果位置超出範圍,則輸入錯誤狀態。position
是指從媒體開頭的偏移值。
要求
名稱 | 類型 |
---|---|
position |
zx/Duration
|
SetPlaybackRate
設定媒體的播放速率。這項操作不會改變 播放模式。
要求
名稱 | 類型 |
---|---|
playback_rate |
float32
|
SetRepeatMode
將重複模式設為任一支援的重複模式。
要求
名稱 | 類型 |
---|---|
repeat_mode |
RepeatMode
|
SetShuffleMode
設定隨機播放模式。
要求
名稱 | 類型 |
---|---|
shuffle_on |
bool
|
SkipForward
根據播放器的預設略過次數,向媒體略過內容。
要求
<空白>
SkipReverse
根據播放器的預設略過金額,在媒體中略過元素。
要求
<空白>
停止
停止播放。工作階段應會關閉,
要求
<空白>
WatchStatus
查看工作階段狀態。離開要求,以便收到回覆 工作階段狀態就會改變第一項要求將立即透過以下方式回應: 目前狀態
要求
<空白>
回應
名稱 | 類型 |
---|---|
session_info_delta |
SessionInfoDelta
|
SessionObserver
定義於 fuchsia.media.sessions2/discovery.fidl
查看媒體工作階段的狀態。
如果媒體工作階段停止,管道就會關閉。
WatchStatus
查看工作階段狀態。離開要求,以便收到回覆 工作階段狀態就會改變第一項要求將立即透過以下方式回應: 目前狀態
要求
<空白>
回應
名稱 | 類型 |
---|---|
session_info_delta |
SessionInfoDelta
|
SessionsWatcher
定義於 fuchsia.media.sessions2/discovery.fidl
「SessionsWatcher
」會觀看已發布的工作階段集合。
SessionRemoved
將工作階段從已註冊的工作階段中移除時,註冊資料庫服務會呼叫此方法 集合。
SessionsWatcher
必須回覆確認已收到工作階段移除通知。
沒有收到回覆的欠缺看護者最終會中斷連線。
要求
名稱 | 類型 |
---|---|
session_id |
SessionId
|
回應
<空白>
SessionUpdated
在工作階段更新時,登錄服務會呼叫此方法。首次連線時, 系統會視需求多次呼叫此項目,以傳達 這份報告說明隨著 AI 影響力逐步擴大 採行負責任的 AI 技術做法能帶來的價值
SessionsWatcher
必須回覆確認收到工作階段資訊差異。
沒有收到回覆的欠缺看護者最終會中斷連線。
要求
名稱 | 類型 |
---|---|
session_id |
SessionId
|
session_info_delta |
SessionInfoDelta
|
回應
<空白>
結構
ImageSizeVariant
定義於 fuchsia.media.sessions2/images.fidl
特定大小的圖片變化版本。
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
url |
fuchsia.url/Url
|
無預設 | |
width |
uint32
|
無預設 | |
height |
uint32
|
無預設 |
ENUMS
ContentType 嚴格
類型:uint32
在 fuchsia.media.sessions2/player.fidl 中定義
播放的內容類型,應設為最大 以及適用的值
名稱 | 值 | 說明 |
---|---|---|
OTHER |
1 |
內容不符合任何其他值。 |
音訊 |
2 |
不屬於音樂的純音訊內容。 |
影片 |
3 |
不屬於電視節目或電影的純影片或影音內容。 |
音樂 |
4 |
純音訊內容通常可視為音樂。 |
TV_SHOW |
5 |
屬於電視或串流影集的影音內容。 |
電影 |
6 |
含有精選電影的影音內容。 |
錯誤 strict
類型:uint32
在 fuchsia.media.sessions2/player.fidl 中定義
名稱 | 值 | 說明 |
---|---|---|
OTHER |
1 |
中斷行為嚴格
類型:uint32
在 fuchsia.media.sessions2/player.fidl 中定義
播放器在 受到鬧鐘幹擾 (例如被鬧鐘幹擾)
系統會利用玩家的情形偵測中斷情形。
根據預設,幹擾行為為 NONE
。
名稱 | 值 | 說明 |
---|---|---|
無 |
0 |
中斷對玩家沒有影響 即使有聲音變差,影片仍可能繼續播放。 |
暫停 |
1 |
這種行為在播放中斷時,播放器 暫停到中斷為止 並不遺漏任何內容 |
MediaImageType 嚴格
類型:uint32
定義於 fuchsia.media.sessions2/images.fidl
名稱 | 值 | 說明 |
---|---|---|
原圖 |
0 |
播放媒體的圖片。 |
SOURCE_ICON |
1 |
播放媒體來源的圖示 (例如播放器或 以及串流服務)。 |
PlayerState 嚴格
類型:uint32
在 fuchsia.media.sessions2/player.fidl 中定義
媒體播放器的狀態。
名稱 | 值 | 說明 |
---|---|---|
閒置 |
0 |
工作階段沒有相關媒體時的初始狀態。 |
播放中 |
1 |
播放器正在播放內容。 |
已暫停 |
2 |
播放器已暫停。 |
緩衝處理中 |
3 |
播放器會播放,但因緩衝處理而暫停。 |
錯誤 |
4 |
玩家無法從該狀態復原,且即將關閉。 |
RepeatMode 嚴格
類型:uint32
在 fuchsia.media.sessions2/player.fidl 中定義
重複播放目前媒體的模式。
名稱 | 值 | 說明 |
---|---|---|
關閉 |
0 |
不會重複。 |
群組 |
1 |
重複相關媒體群組 (例如播放清單)。 |
單曲 |
2 |
重複播放目前正在播放的媒體。 |
資料表
MediaImage
定義於 fuchsia.media.sessions2/images.fidl
播放媒體的圖片。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
image_type |
MediaImageType
|
|
2 |
sizes |
vector<ImageSizeVariant>[16]
|
圖片的可用版本。 |
PlayerCapabilities
在 fuchsia.media.sessions2/player.fidl 中定義
說明玩家的能力,
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
flags |
PlayerCapabilityFlags
|
指出播放器支援的功能。請參閱 |
PlayerInfoDelta
在 fuchsia.media.sessions2/player.fidl 中定義
發出時,應設定已變更的欄位。 首次向新客戶發出傳送要求時應為數據匯報。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
local |
bool
|
將媒體進入我們裝置網路的進入點 本機機器如果這是裝置串流,則傳回 true 錯誤或遺漏。如果這部機器只是 接收音訊串流,擔任說話者。 如果省略此值,此值會保持不變。一開始,這個值為 |
2 |
player_status |
PlayerStatus
|
播放器的狀態。 如果省略,則所有組成值皆會保持不變。如果 |
3 |
metadata |
fuchsia.media/Metadata
|
播放中媒體的中繼資料。 如果省略,中繼資料則不會變更。一開始沒有中繼資料。 |
4 |
media_images |
vector<MediaImage>[16]
|
與播放媒體相關的圖片。 省略時,媒體圖片則不會改變。空白 向量表示沒有任何媒體圖片,而這也是初始狀態。 |
5 |
player_capabilities |
PlayerCapabilities
|
玩家的能力。 如果省略,功能則維持不變。系統一開始會假設玩家沒有任何 即便沒有技術背景,也能因這些工具的功能而受益 |
6 |
interruption_behavior |
InterruptionBehavior
|
玩家受到干擾時想參與的行為 由某個物件發出,例如鬧鐘 省略時,行為則維持不變。初始值為 |
PlayerRegistration
定義於 fuchsia.media.sessions2/publisher.fidl
媒體工作階段登錄服務所需的一切資訊, 註冊玩家,讓用戶端可觀察玩家的狀態和控制項 基礎架構
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
domain |
Domain
|
玩家所在的網域。如果是原生,請取消設定 Fuchsia 網域。 |
2 |
usage |
fuchsia.media/AudioRenderUsage
|
播放器的音訊輸出用途。根據預設,系統會假設 設為 MEDIA |
PlayerStatus
在 fuchsia.media.sessions2/player.fidl 中定義
媒體播放器的狀態。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
duration |
zx/Duration
|
播放媒體的總時間長度。 如果省略這個值,則持續時間不明、不適用或維持不變。一開始 系統會假設時間長度為未知。 |
2 |
player_state |
PlayerState
|
玩家狀態。 如果省略這個欄位,此值會保持不變。初始值為 |
3 |
timeline_function |
fuchsia.media/TimelineFunction
|
這個播放函式會描述
以 如果省略這個欄位,此值會保持不變。一開始, |
4 |
repeat_mode |
RepeatMode
|
播放器的重複模式。 如果省略這個欄位,此值會保持不變。初始值為 |
5 |
shuffle_on |
bool
|
播放器的隨機播放模式。 如果省略這個欄位,此值會保持不變。一開始,值為 false。 |
6 |
content_type |
ContentType
|
播放的內容類型。 如果省略這個欄位,此值會保持不變。初始值為 |
7 |
error |
Error
|
播放器可能發生錯誤。 除非發生錯誤,否則系統會略過這個欄位。一旦指出錯誤,就無法 |
8 |
is_live |
bool
|
播放播放的媒體 (例如電視或直播)。 如果省略這個欄位,此值會保持不變。一開始,值為 false。 |
SessionInfoDelta
在 fuchsia.media.sessions2/discovery.fidl 中定義的
SessionInfoDelta 提供媒體工作階段的說明。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
domain |
Domain
|
發生工作階段的網域。網域指的是一組 可互相相容的媒體目標和工作階段;網站上的工作階段可能會 會在相同網域的目標上播放 一律提供這個欄位。 |
2 |
is_local |
bool
|
媒體播放來源是否在這部裝置上。 這個欄位只有在已知的情況下才會顯示。 |
3 |
is_locally_active |
bool
|
如果這是 一律提供這個欄位。 |
4 |
player_status |
PlayerStatus
|
播放器的狀態。 一律提供這個欄位。 |
5 |
metadata |
fuchsia.media/Metadata
|
說明媒體工作階段的中繼資料。 一律提供這個欄位。 |
6 |
media_images |
vector<MediaImage>
|
與媒體或其來源相關的圖片。 一律提供這個欄位。 |
7 |
player_capabilities |
PlayerCapabilities
|
媒體播放器實作的功能。 一律提供這個欄位。 |
WatchOptions
在 fuchsia.media.sessions2/discovery.fidl 中定義的
用來指定觀看集合時要觀看哪些工作階段的選項。
觀看組合是可滿足所有選項的一組工作階段。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
only_active |
bool
|
只觀看進行中的工作階段。如未設定,會觀看所有影片。 |
2 |
allowed_sessions |
vector<uint64>[1000]
|
僅限觀看含有這些許可清單 ID 的工作階段。如未設定,會觀看所有影片。 |
商業智慧
PlayerCapabilityFlags 嚴格
類型:uint32
在 fuchsia.media.sessions2/player.fidl 中定義
名稱 | 值 | 說明 |
---|---|---|
玩遊戲 |
1 | 如果已設定,玩家可以 |
暫停 |
4 | 如果已設定,玩家可以 |
查看 |
8 | 如果已設定,玩家可以 |
SKIP_FORWARD |
16 | 如果已設定,玩家可以 |
SKIP_REVERSE |
32 | 如果已設定,玩家可以 |
隨機播放 |
64 | 如果設定了這個屬性,播放器就能隨機播放媒體。 |
CHANGE_TO_NEXT_ITEM |
128 | |
CHANGE_TO_PREV_ITEM |
256 | |
HAS_GAIN_CONTROL |
512 | 如果已設定,玩家可以 |
REPEAT_GROUPS |
1024 | 如果已設定,玩家將可以重複分組。 |
REPEAT_SINGLE |
2048 | 如果設定完成,播放器可能會重複播放單一媒體項目。 |
SET_PLAYBACK_RATE |
4096 | 如果已設定,播放器可接受播放速率變更。 |
ALIASES
名稱 | 值 | 說明 |
---|---|---|
網域 |
string [1000 ] |
網域可用來識別工作階段發生的生態系統。 網域格式應為
|
SessionId |
uint64 |