通訊協定
ElementarySource
定義於 fuchsia.media.playback/source_manager.fidl
Source 變數,用於直接向玩家提供小串流。
AddBinding
為這個 ElementarySource 新增繫結。使用這個方法後,即使通道已被 SourceManager.SetSource 呼叫耗用,用戶端仍可取得額外的通道,藉此與這個 ElementarySource 通訊。
要求
| 名稱 | 類型 | 
|---|---|
| source_request | server_end:ElementarySource | 
AddStream
新增基本串流。您可以關閉 SimpleStreamSink 來移除基本串流。「ticks_per_second_numerator」和
ticks_per_second_denominator 表示將用於
Streampacket 時間戳記值。舉例來說,如果是奈秒單位,ticks_per_second_numerator 應為 1000000000,ticks_per_second_denominator 則應為 1。如果要套用影格單位
48K 音訊,ticks_per_second_numerator 應為 48000,且
ticks_per_second_denominator 應為 1。
要求
| 名稱 | 類型 | 
|---|---|
| type | fuchsia.media/StreamType | 
| ticks_per_second_numerator | uint32 | 
| ticks_per_second_denominator | uint32 | 
| sink_request | server_end:fuchsia.media/SimpleStreamSink | 
OnStatusChanged
回應
| 名稱 | 類型 | 
|---|---|
| source_status | SourceStatus | 
播放器
定義於 fuchsia.media.playback/player.fidl
播放媒體。
AddBinding
將新的繫結新增至此玩家。
要求
| 名稱 | 類型 | 
|---|---|
| player_request | server_end:Player | 
BindGainControl
繫結至此播放器的增益控制項。
要求
| 名稱 | 類型 | 
|---|---|
| gain_control_request | server_end:fuchsia.media.audio/GainControl | 
CancelSourceTransition
取消待處理的轉場,並傳回來源。如果沒有待處理的轉換,要求管道就會關閉。
要求
| 名稱 | 類型 | 
|---|---|
| returned_source_request | server_end:Source | 
CreateElementarySource
建立來源,讓用戶端可向播放器提供獨立的基本串流。duration_ns、can_pause、can_seek 和 metadata 都包含在 SourceStatus 中,如果播放器使用 ElementarySource,也會包含在 PlayerStatus 中。can_pause 和 can_seek (何時)
false,會限制玩家的能力。
要求
| 名稱 | 類型 | 
|---|---|
| duration_ns | zx/Duration | 
| can_pause | bool | 
| can_seek | bool | 
| metadata | fuchsia.media/Metadata? | 
| source_request | server_end:ElementarySource | 
CreateFileSource
建立可從檔案讀取的來源。
要求
| 名稱 | 類型 | 
|---|---|
| file_channel | handle<channel> | 
| source_request | server_end:Source | 
CreateReaderSource
建立從 SeekingReader 讀取的來源。
要求
| 名稱 | 類型 | 
|---|---|
| seeking_reader | client_end:SeekingReader | 
| source_request | server_end:Source | 
CreateView
建立影片檢視畫面。
要求
| 名稱 | 類型 | 
|---|---|
| view_token | fuchsia.ui.views/ViewToken | 
OnStatusChanged
建立繫結後立即提供目前狀態,並在每次顯示狀態時提供 然後進行更改
回應
| 名稱 | 類型 | 
|---|---|
| player_status | PlayerStatus | 
暫停
暫停播放。
要求
<EMPTY>
播放
開始播放。
要求
<EMPTY>
搜尋
跳轉至指定位置,以奈秒為單位。
要求
| 名稱 | 類型 | 
|---|---|
| position | int64 | 
SetFileSource
設定要讀取的檔案管道。
要求
| 名稱 | 類型 | 
|---|---|
| file_channel | handle<channel> | 
SetFileSourceWithOptions
設定要讀取的檔案管道。
要求
| 名稱 | 類型 | 
|---|---|
| file_channel | handle<channel> | 
| options | PlayerOptions | 
SetPlaybackRate
設定播放器播放時要使用的速率。rate必須為正數。
PlayerStatus 的 timeline_function 欄位表示玩家的實際費率
正在播放。
要求
| 名稱 | 類型 | 
|---|---|
| playback_rate | float32 | 
SetSource
設定此播放器要使用的來源。如果來源為空值,播放器就會處於閒置狀態。
要求
| 名稱 | 類型 | 
|---|---|
| source | client_end:Source? | 
TransitionToSource
播放目前的來源時,轉換至指定來源 達到轉換點。新的來源會從 start_pts 開始播放。如果 轉換作業待處理,系統將捨棄該轉換,並改用新的 轉換。
要求
| 名稱 | 類型 | 
|---|---|
| source | client_end:Source | 
| transition_pts | int64 | 
| start_pts | int64 | 
SeekingReader
定義於 fuchsia.media.playback/seeking_reader.fidl
說明
要求
<EMPTY>
回應
| 名稱 | 類型 | 
|---|---|
| status | zx/Status | 
| size | uint64 | 
| can_seek | bool | 
ReadAt
要求
| 名稱 | 類型 | 
|---|---|
| position | uint64 | 
回應
| 名稱 | 類型 | 
|---|---|
| status | zx/Status | 
| socket | handle<socket>? | 
來源
在 fuchsia.media.playback/source_manager.fidl 中定義
玩家可能會使用的內容來源。
OnStatusChanged
回應
| 名稱 | 類型 | 
|---|---|
| source_status | SourceStatus | 
SourceManager
在 fuchsia.media.playback/source_manager.fidl 中定義
代表玩家管理來源。
CancelSourceTransition
取消待處理的轉場,並傳回來源。如果沒有待處理的轉換,要求管道就會關閉。
要求
| 名稱 | 類型 | 
|---|---|
| returned_source_request | server_end:Source | 
CreateElementarySource
建立來源,讓用戶端可向播放器提供獨立的基本串流。duration_ns、can_pause、can_seek 和 metadata 都包含在 SourceStatus 中,如果播放器使用 ElementarySource,也會包含在 PlayerStatus 中。can_pause 和 can_seek (何時)
false,會限制玩家的能力。
要求
| 名稱 | 類型 | 
|---|---|
| duration_ns | zx/Duration | 
| can_pause | bool | 
| can_seek | bool | 
| metadata | fuchsia.media/Metadata? | 
| source_request | server_end:ElementarySource | 
CreateFileSource
建立可從檔案讀取的來源。
要求
| 名稱 | 類型 | 
|---|---|
| file_channel | handle<channel> | 
| source_request | server_end:Source | 
CreateReaderSource
建立從 SeekingReader 讀取的來源。
要求
| 名稱 | 類型 | 
|---|---|
| seeking_reader | client_end:SeekingReader | 
| source_request | server_end:Source | 
SetSource
設定此播放器要使用的來源。如果來源為空值,播放器就會處於閒置狀態。
要求
| 名稱 | 類型 | 
|---|---|
| source | client_end:Source? | 
TransitionToSource
播放目前的來源時,轉換至指定來源 達到轉換點。新的來源會從 start_pts 開始播放。如果 轉換作業待處理,系統將捨棄該轉換,並改用新的 轉換。
要求
| 名稱 | 類型 | 
|---|---|
| source | client_end:Source | 
| transition_pts | int64 | 
| start_pts | int64 | 
STRUCTS
PlayerStatus
定義於 fuchsia.media.playback/player.fidl
玩家狀態資訊。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| duration | zx/Duration | 內容的時間長度。 | 無預設 | 
| can_pause | bool | 播放器是否可暫停。 | 無預設 | 
| can_seek | bool | 玩家是否可跳轉。 | 無預設 | 
| has_audio | bool | 來源是否有音訊串流。 | 無預設 | 
| has_video | bool | 來源是否含有影片串流。 | 無預設 | 
| ready | bool | 指出播放器是否已經可以播放。呼叫  | 無預設 | 
| metadata | fuchsia.media/Metadata? | 無預設 | |
| problem | Problem? | 表示發生問題,導致無法執行預期的作業。 | 無預設 | 
| audio_connected | bool | 指出目前是否已連線至音訊串流進行算繪。
如果  | 無預設 | 
| video_connected | bool | 指出影片串流目前是否已連線以供轉譯。如果  | 無預設 | 
| video_size | fuchsia.math/Size? | 目前正在製作的影片大小。如果目前無法得知影片大小,這個值會為空值。 | 無預設 | 
| pixel_aspect_ratio | fuchsia.math/Size? | 影片像素的相對尺寸。如果 像素顯示比例目前未知。 | 無預設 | 
| timeline_function | fuchsia.media/TimelineFunction? | 將當地時間轉換為簡報時間的函式。如果目前未定義時間軸函式,這個值會為空值。 | 無預設 | 
| end_of_stream | bool | 指出所有串流的顯示畫面是否已結束直播。 | 無預設 | 
問題
在 fuchsia.media.playback/problem.fidl 中定義
模型問題導致無法執行預期作業。
Problem 通常會顯示為元件狀態的一部分
做為選填欄位如果沒有 Problem,表示沒有任何因素會阻止預期的作業。當問題發生時,用戶端可以自動採取行動或顯示相關 UI。如果問題可以透過某些動作解決,用戶端可能會自動採取該動作,或以某種方式讓使用者參與解決過程。無論是哪種情況,只要解決導致問題曝光的問題,問題就會消失。根據設計,沒有一般方式可以關閉問題。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| type | string | 問題類型。這是可擴充性的字串。 | 無預設 | 
| details | string? | 類型相關詳細資料。 | 無預設 | 
SourceStatus
定義於 fuchsia.media.playback/source_manager.fidl
來源狀態資訊。
| 欄位 | 類型 | 說明 | 預設 | 
|---|---|---|---|
| duration | zx/Duration | 內容的時間長度。 | 無預設 | 
| can_pause | bool | 來源是否可以暫停。 | 無預設 | 
| can_seek | bool | 來源是否可跳轉。 | 無預設 | 
| has_audio | bool | 來源是否有音訊串流。 | 無預設 | 
| has_video | bool | 來源是否含有影片串流。 | 無預設 | 
| ready | bool | 指出來源是否已就緒。一個真實價值表示 系統偵測到的內容,但沒有任何已知問題。 | 無預設 | 
| metadata | fuchsia.media/Metadata? | 描述媒體。 | 無預設 | 
| problem | Problem? | 指出問題導致無法執行所需作業。空值表示來源正常運作。 | 無預設 | 
資料表
PlayerOptions
在 fuchsia.media.playback/player.fidl 中定義的
SetFileSourceWithOptions 中使用的選項。
| 序數 | 欄位 | 類型 | 說明 | 
|---|---|---|---|
| 1 | silent | bool | 設為 true 時,系統會停止音訊算繪作業。預設值為 false。 | 
常數
| 名稱 | 值 | 類型 | 說明 | 
|---|---|---|---|
| PROBLEM_ASSET_NOT_FOUND | fuchsia.media.playback.AssetNotFound | String | |
| PROBLEM_AUDIO_ENCODING_NOT_SUPPORTED | fuchsia.media.playback.AudioEncodingNotSupported | String | |
| PROBLEM_CONNECTION_FAILED | fuchsia.media.playback.ConnectionFailed | String | |
| PROBLEM_CONTAINER_NOT_SUPPORTED | fuchsia.media.playback.ContainerNotSupported | String | |
| PROBLEM_INTERNAL | fuchsia.media.playback.Internal | String | |
| PROBLEM_VIDEO_ENCODING_NOT_SUPPORTED | fuchsia.media.playback.VideoEncodingNotSupported | String | |
| UNKNOWN_SIZE | 18446744073709551615 | uint64 | 
 |