語言

MediaCodec.Flush 方法

定義

同時沖洗元件的輸入和輸出端口。

[Android.Runtime.Register("flush", "()V", "")]
public void Flush();
[<Android.Runtime.Register("flush", "()V", "")>]
member this.Flush : unit -> unit
屬性

例外狀況

若不在執行狀態。

因為編碼錯誤。

備註

同時沖洗元件的輸入和輸出端口。

回傳時,先前以呼叫 and #dequeueInputBuffer dequeueInputBuffer#dequeueOutputBuffer dequeueOutputBuffer &mdash 回傳的所有索引;或透過 Callback#onInputBufferAvailable onInputBufferAvailable 或 Callback#onOutputBufferAvailable onOutputBufferAvailable 回調 和 mdash 取得的索引——將失效,所有緩衝區都歸編解碼器所有。

若編解碼器設定為非同步模式,呼叫 #start 已 flush 返回以恢復編解碼器操作。 編解碼器在此情況下不會請求輸入緩衝區。 <但>強烈注意,可能仍有未 onOutputBufferAvailable 處理 flush的回撥。 透過這些回調回傳的索引在呼叫 flush 時也會失效,應被丟棄。</強壯>

若編解碼器設定為同步模式,若編解碼器設定為輸入表面,編解碼器將自動恢復。 否則,當 #dequeueInputBuffer dequeueInputBuffer 被叫到時,它會繼續進行。

Java 文件 android.media.MediaCodec.flush()。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於