通訊協定
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 |
|