專家
ActiveSession
定義於 fuchsia.media.sessions2/discovery.fidl
監控裝置上目前媒體工作階段的通訊協定。
目前執行中的媒體工作階段是最新執行的媒體工作階段,用於宣告本機裝置上的「正在播放」狀態,即使目前已暫停也一樣。
WatchActiveSession
查看執行中的工作階段。系統會立即以目前啟用的工作階段回應第一個要求。當運作中的工作階段變更時,請一律將要求保留下來以收到回覆。
要求
<EMPTY>
回應
名稱 | 類型 |
---|---|
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
繫結至工作階段的音量控制項和通知。如果 PlayerCapabilities
中缺少 HAS_GAIN_CONTROL
標記,但不支援這個方法,則服務會關閉做為 volume_control_request
傳遞的管道控制代碼。
要求
名稱 | 類型 |
---|---|
volume_control_request |
server_end<fuchsia.media.audio/VolumeControl>
|
NextItem
將媒體變更為下一個項目 (例如播放清單中的下一首歌曲)。如果不支援 PlayerCapabilities
中缺少 CHANGE_TO_NEXT_ITEM
標記的表示方式,這個方法就沒有任何作用。
要求
<EMPTY>
暫停
暫停播放並保留媒體中的位置。如 PlayerCapabilities
中缺少 PAUSE
標記,表示不支援此方法,此方法沒有任何作用。
要求
<EMPTY>
播放
播放媒體。如果不支援 PlayerCapabilities
中缺少 PLAY
標記的說明,則不支援此方法,此方法沒有任何作用。
要求
<EMPTY>
PrevItem
將媒體變更為上一個項目。如果不支援 PlayerCapabilities
中缺少 CHANGE_TO_PREV_ITEM
標記的表示方式,這個方法就沒有任何作用。
要求
<EMPTY>
跳轉
跳轉至媒體中的特定位置。位置超出邊界時,不必導入錯誤狀態。position
是從媒體開頭的偏移值。如 PlayerCapabilities
中缺少 SEEK
標記,表示不支援此方法,此方法沒有任何作用。
要求
名稱 | 類型 |
---|---|
position |
zx/Duration
|
SetPlaybackRate
設定媒體的播放速率。這項操作不會改變播放模式。如 PlayerCapabilities
中缺少 SET_PLAYBACK_RATE
標記所示,因此此方法不支援此方法,
要求
名稱 | 類型 |
---|---|
playback_rate |
float32
|
SetRepeatMode
將重複模式設為任何支援的重複模式。這個方法是否生效取決於 PlayerCapabilities
和 repeat_mode
:
要求
名稱 | 類型 |
---|---|
repeat_mode |
RepeatMode
|
SetShuffleMode
設定隨機播放模式。如 PlayerCapabilities
中缺少 SHUFFLE
標記,而不支援此方法,此方法沒有任何作用。
要求
名稱 | 類型 |
---|---|
shuffle_on |
bool
|
SkipForward
根據播放器預設的略過次數,在媒體中快轉。如 PlayerCapabilities
中缺少 SKIP_FORWARD
標記,表示不支援此方法,此方法沒有任何作用。
要求
<EMPTY>
SkipReverse
根據播放器預設的略過次數,在媒體中倒轉。如果不支援 PlayerCapabilities
中缺少 SKIP_REVERSE
標記的表示方式不支援這個方法,這個方法就沒有任何作用。
要求
<EMPTY>
停止
停止播放。工作階段應會關閉。
要求
<EMPTY>
WatchInfoChange
使用等待取得模式取得網路玩家資訊變更。
要求
<EMPTY>
回應
名稱 | 類型 |
---|---|
player_info_delta |
PlayerInfoDelta
|
PlayerControl
定義於 fuchsia.media.sessions2/player.fidl
媒體播放器的控制項。PlayerCapabilities
表示玩家支援這個通訊協定中的方法。由於功能是動態的,且用戶端無法隨時知道方法呼叫送達服務時將支援哪些功能,因此呼叫不支援的方法只會遭到忽略。一般而言,除非玩家表示持續支援,否則用戶端不應預期方法運作。
BindVolumeControl
繫結至工作階段的音量控制項和通知。如果 PlayerCapabilities
中缺少 HAS_GAIN_CONTROL
標記,但不支援這個方法,則服務會關閉做為 volume_control_request
傳遞的管道控制代碼。
要求
名稱 | 類型 |
---|---|
volume_control_request |
server_end<fuchsia.media.audio/VolumeControl>
|
NextItem
將媒體變更為下一個項目 (例如播放清單中的下一首歌曲)。如果不支援 PlayerCapabilities
中缺少 CHANGE_TO_NEXT_ITEM
標記的表示方式,這個方法就沒有任何作用。
要求
<EMPTY>
暫停
暫停播放並保留媒體中的位置。如 PlayerCapabilities
中缺少 PAUSE
標記,表示不支援此方法,此方法沒有任何作用。
要求
<EMPTY>
播放
播放媒體。如果不支援 PlayerCapabilities
中缺少 PLAY
標記的說明,則不支援此方法,此方法沒有任何作用。
要求
<EMPTY>
PrevItem
將媒體變更為上一個項目。如果不支援 PlayerCapabilities
中缺少 CHANGE_TO_PREV_ITEM
標記的表示方式,這個方法就沒有任何作用。
要求
<EMPTY>
跳轉
跳轉至媒體中的特定位置。位置超出邊界時,不必導入錯誤狀態。position
是從媒體開頭的偏移值。如 PlayerCapabilities
中缺少 SEEK
標記,表示不支援此方法,此方法沒有任何作用。
要求
名稱 | 類型 |
---|---|
position |
zx/Duration
|
SetPlaybackRate
設定媒體的播放速率。這項操作不會改變播放模式。如 PlayerCapabilities
中缺少 SET_PLAYBACK_RATE
標記所示,因此此方法不支援此方法,
要求
名稱 | 類型 |
---|---|
playback_rate |
float32
|
SetRepeatMode
將重複模式設為任何支援的重複模式。這個方法是否生效取決於 PlayerCapabilities
和 repeat_mode
:
要求
名稱 | 類型 |
---|---|
repeat_mode |
RepeatMode
|
SetShuffleMode
設定隨機播放模式。如 PlayerCapabilities
中缺少 SHUFFLE
標記,而不支援此方法,此方法沒有任何作用。
要求
名稱 | 類型 |
---|---|
shuffle_on |
bool
|
SkipForward
根據播放器預設的略過次數,在媒體中快轉。如 PlayerCapabilities
中缺少 SKIP_FORWARD
標記,表示不支援此方法,此方法沒有任何作用。
要求
<EMPTY>
SkipReverse
根據播放器預設的略過次數,在媒體中倒轉。如果不支援 PlayerCapabilities
中缺少 SKIP_REVERSE
標記的表示方式不支援這個方法,這個方法就沒有任何作用。
要求
<EMPTY>
停止
停止播放。工作階段應會關閉。
要求
<EMPTY>
出版商
定義於 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
將媒體變更為下一個項目 (例如播放清單中的下一首歌曲)。
要求
<EMPTY>
暫停
暫停播放並保留媒體中的位置
要求
<EMPTY>
播放
播放媒體。
要求
<EMPTY>
PrevItem
將媒體變更為上一個項目。
要求
<EMPTY>
跳轉
跳轉至媒體中的特定位置。位置超出邊界時,不必導入錯誤狀態。position
是從媒體開頭的偏移值。
要求
名稱 | 類型 |
---|---|
position |
zx/Duration
|
SetPlaybackRate
設定媒體的播放速率。這不會變更播放模式。
要求
名稱 | 類型 |
---|---|
playback_rate |
float32
|
SetRepeatMode
將重複模式設為任何支援的重複模式。
要求
名稱 | 類型 |
---|---|
repeat_mode |
RepeatMode
|
SetShuffleMode
設定隨機播放模式。
要求
名稱 | 類型 |
---|---|
shuffle_on |
bool
|
SkipForward
根據播放器預設的略過次數,在媒體中快轉。
要求
<EMPTY>
SkipReverse
根據播放器預設的略過次數,在媒體中倒轉。
要求
<EMPTY>
停止
停止播放。工作階段應會關閉。
要求
<EMPTY>
WatchStatus
查看工作階段狀態。離開要求,在工作階段狀態變更時收到回覆。系統會立即以目前狀態回應第一個要求。
要求
<EMPTY>
回應
名稱 | 類型 |
---|---|
session_info_delta |
SessionInfoDelta
|
SessionObserver
定義於 fuchsia.media.sessions2/discovery.fidl
查看媒體工作階段的狀態。
如果媒體工作階段停止,頻道就會關閉。
WatchStatus
查看工作階段狀態。離開要求,在工作階段狀態變更時收到回覆。系統會立即以目前狀態回應第一個要求。
要求
<EMPTY>
回應
名稱 | 類型 |
---|---|
session_info_delta |
SessionInfoDelta
|
SessionsWatcher
定義於 fuchsia.media.sessions2/discovery.fidl
SessionsWatcher
會觀看已發布的工作階段集合。
SessionRemoved
註冊資料庫從已註冊的集合中移除工作階段時,會由登錄服務呼叫。
SessionsWatcher
必須回覆確認收到工作階段移除的通知。
沒有回覆的欠款觀察者最終會中斷連線。
要求
名稱 | 類型 |
---|---|
session_id |
SessionId
|
回應
<EMPTY>
SessionUpdated
在更新工作階段時,註冊資料庫服務會呼叫此方法。首次連線時,系統會按所需次數來呼叫全世界的狀態。
SessionsWatcher
必須回覆,以確認已收到工作階段資訊差異。沒有回覆的欠款觀察者最終會中斷連線。
要求
名稱 | 類型 |
---|---|
session_id |
SessionId
|
session_info_delta |
SessionInfoDelta
|
回應
<EMPTY>
結構
ImageSizeVariant
定義於 fuchsia.media.sessions2/images.fidl
特定大小的圖片變化版本。
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
url |
fuchsia.url/Url
|
無預設 | |
width |
uint32
|
無預設 | |
height |
uint32
|
無預設 |
表情符號
ContentType 嚴格
類型:uint32
定義於 fuchsia.media.sessions2/player.fidl
播放的內容類型,應設為最大的適用值。
名稱 | 值 | 說明 |
---|---|---|
其他 |
1 |
內容不符合其他任何值的資格。 |
AUDIO |
2 |
純音訊內容不屬於音樂。 |
影片 |
3 |
不屬於電視節目或電影的純影片或影音內容。 |
音樂 |
4 |
一般認為純音訊內容是音樂。 |
TV_SHOW |
5 |
屬於電視或串流影集的影音內容。 |
電影 |
6 |
由電影膠捲組成的影音內容。 |
錯誤 strict 錯誤
類型:uint32
定義於 fuchsia.media.sessions2/player.fidl
名稱 | 值 | 說明 |
---|---|---|
其他 |
1 |
幹擾行為嚴格
類型:uint32
定義於 fuchsia.media.sessions2/player.fidl
玩家受到警示等中斷時,在播放器上強制執行的行為。
系統會根據玩家的使用行為偵測到中斷情況。
幹擾行為預設為 NONE
。
名稱 | 值 | 說明 |
---|---|---|
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
用於播放媒體的圖片。
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
image_type |
MediaImageType
|
|
2 |
sizes |
vector<ImageSizeVariant>[16]
|
圖片的可用變化版本。 |
PlayerCapabilities
定義於 fuchsia.media.sessions2/player.fidl
說明玩家的功能。
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
flags |
PlayerCapabilityFlags
|
指出播放器可支援哪些功能。詳情請參閱 |
PlayerInfoDelta
定義於 fuchsia.media.sessions2/player.fidl
發出時,應設定已變更的欄位。新用戶端發出的第一個發出作業應為快照。
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
local |
bool
|
媒體進入裝置網路的進入點是否為本機電腦;如果裝置是從音樂服務串流內容,則應設為 true;如果這部機器只是接收到做為喇叭而接收音訊串流,則這個欄位的值應為 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
媒體工作階段登錄服務註冊玩家時所需的所有資訊,以便用戶端可觀察其狀態及管理。
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
domain |
Domain
|
玩家所在的網域。如果為原生 Fuuchsia 網域,請取消設定。 |
2 |
usage |
fuchsia.media/AudioRenderUsage
|
使用播放器的音訊輸出。根據預設,系統會假設這是 MEDIA。 |
PlayerStatus
定義於 fuchsia.media.sessions2/player.fidl
媒體播放器的狀態。
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
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 包含媒體工作階段的說明。
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
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
指定觀看集合時要觀看哪些工作階段的選項。
已觀看系列是指符合所有選項的一組工作階段。
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
only_active |
bool
|
只觀看進行中的工作階段。如不設定,則會全部觀看影片。 |
2 |
allowed_sessions |
vector<uint64>[1000]
|
只觀看有這些許可清單 ID 的活動。如不設定,則會全部觀看影片。 |
節拍
PlayerCapabilityFlag 嚴格
類型: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 | 設定後,播放器就能接受播放速率變更。 |
別名
名稱 | 值 | 說明 |
---|---|---|
網域 |
string [1000 ] |
網域可用來辨別工作階段發生的生態系統, 網域的格式應為
|
SessionId |
uint64 |