MediaCodec.Flush 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
同時沖洗元件的輸入和輸出端口。
[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 所創建與分享的作品,並依授權條款所描述的使用進行修改。