Fuchsia.media.playback

新增:7

通訊協定

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 和中繼資料都包含在 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

當目前來源的播放達到 transition_pts 時,轉換至指定來源。新來源會從 start_pts 開始播放。如果已有待處理的轉換,系統會捨棄該轉換,改用新的轉換。

要求

名稱類型
source client_end:Source
transition_pts int64
start_pts int64

SeekingReader

定義於 fuchsia.media.playback/seeking_reader.fidl

描述

要求

<EMPTY>

回應

名稱類型
status zx/Result
size uint64
can_seek bool

ReadAt

要求

名稱類型
position uint64

回應

名稱類型
status zx/Result
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 和中繼資料都包含在 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

當目前來源的播放達到 transition_pts 時,轉換至指定來源。新來源會從 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

指出播放器是否已準備好播放。呼叫 SetFileSource 或 SourceManager.SetSource 後,這個值會是 false,直到播放器完全準備好播放來源內容為止。

無預設值
metadata fuchsia.media/Metadata? 無預設值
problem Problem?

表示發生問題,無法執行預期作業。

無預設值
audio_connected bool

指出音訊串流目前是否已連線,可進行轉譯。如果 has_audio 為 false,或不支援音訊串流類型,這個值會是 false。

無預設值
video_connected bool

指出目前是否已連結影片串流,可進行算繪。如果 has_video 為 false,或不支援影片串流類型,這個值會是 false。

無預設值
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

指出來源是否已就緒。如果值為 true,表示內容已探測,且沒有已知問題。

無預設值
metadata fuchsia.media/Metadata?

說明媒體。

無預設值
problem Problem?

表示發生問題,導致無法執行預期作業。空值表示來源運作正常。

無預設值

TABLES

PlayerOptions

定義於 fuchsia.media.playback/player.fidl

SetFileSourceWithOptions 中使用的選項。

序數欄位類型說明
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

SeekingReader.Describe 傳回的 size 值,表示大小不明。