fuchsia.media.sounds

已新增:7

專家

選手

fuchsia.media.sounds/sound_player.fidl 中定義

可讓用戶端播放火爆聲。

新增 SoundBuffer

以包含原始 PCM 樣本的緩衝區形式,將音效新增至為用戶端維護的集合。服務會保留緩衝區的 VMO 控制代碼,直到音效移除並停止播放或連線關閉為止。

如果 id 在集合中發現現有聲響,服務將關閉連線。

要求

名稱類型
id uint32
buffer fuchsia.mem/Buffer
stream_type fuchsia.media/AudioStreamType

新增音效來源檔案

將音效加入為用戶端維護的集合中,並讀取檔案中的聲音。如果 id 在集合中發現現有聲響,服務將關閉連線。傳回音訊的持續時間,或是 I/O 作業傳回的錯誤狀態。

目前僅支援 PCM WAV 檔案和 Ogg/Opus 檔案。

要求

名稱類型
id uint32
file fuchsia.io/File

回應

名稱類型
payload Player_AddSoundFromFile_Result

播放音效

使用帶有 usage 的轉譯器播放「id」識別的現有音效。這會盡快播放音效。系統會在音效播放完畢後傳送回覆。如果 id 無法在集合中識別現有聲響,這個方法會傳回 PlaySoundError.NO_SUCH_SOUND。特定有效 ID 的最新 PlaySound 呼叫可使用 StopPlayingSound 停止,在此情況下,這個方法會傳回 PlaySoundError.STOPPED

要求

名稱類型
id uint32
usage fuchsia.media/AudioRenderUsage

回應

名稱類型
payload Player_PlaySound_Result

移除音效

從為用戶端保留的集合中移除音效。即使 PlaySound 方法正在等待該音效,還是可以移除音效。

如果 id 無法在集合中識別現有聲響,服務就不會執行任何動作。 此值可容許,用戶端不必等待 AddSoundFromFile 回應,就能播放及移除音效。

移除不需要的音效會釋放與該音效相關聯的資源,主要是儲存未壓縮音效所需的 VMO。

要求

名稱類型
id uint32

停止播放音效

停止播放最近一次呼叫 PlaySound 時叫用的 id 聲音。如果 id 無法辨識集合中的現有音效,或該音效目前未播放,此方法就不會有任何作用。如果該音效目前有多個 PlaySound 方法並處於待處理的狀態,則只有最近期的音效會停止。

要求

名稱類型
id uint32

結構

Player_AddSoundFromFile_Response

定義於 fuchsia.media.sounds/sound_player.fidl

欄位類型說明預設
duration zx/Duration 無預設

Player_PlaySound_回應

定義於 fuchsia.media.sounds/sound_player.fidl

<空白>

表情符號

PlaySoundError 嚴格

類型:uint32

fuchsia.media.sounds/sound_player.fidl 中定義

Player.PlaySound」的錯誤類型。

名稱說明
1

系統無法辨識傳遞至 PlaySoundid

2

基礎音訊轉譯器失敗。

3

聲音播放作業因為 |StopPlayingSound| 方法呼叫而中斷。

聯合國

Player_AddSoundFromFile_Result 嚴格

fuchsia.media.sounds/sound_player.fidl 中定義

序數Variant類型說明
response Player_AddSoundFromFile_Response
err zx/Status

Player_PlaySound_Result 嚴格

fuchsia.media.sounds/sound_player.fidl 中定義

序數Variant類型說明
response Player_PlaySound_Response
err PlaySoundError