語言

MediaExtractor 類別

定義

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

[Android.Runtime.Register("android/media/MediaExtractor", DoNotGenerateAcw=true)]
public sealed class MediaExtractor : Java.Lang.Object
[<Android.Runtime.Register("android/media/MediaExtractor", DoNotGenerateAcw=true)>]
type MediaExtractor = class
    inherit Object
繼承
MediaExtractor
屬性

備註

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

它通常是這樣用的:

MediaExtractor extractor = new MediaExtractor();
            extractor.setDataSource(...);
            int numTracks = extractor.getTrackCount();
            for (int i = 0; i &lt; numTracks; ++i) {
              MediaFormat format = extractor.getTrackFormat(i);
              String mime = format.getString(MediaFormat.KEY_MIME);
              if (weAreInterestedInThisTrack) {
                extractor.selectTrack(i);
              }
            }
            ByteBuffer inputBuffer = ByteBuffer.allocate(...)
            while (extractor.readSampleData(inputBuffer, ...) &gt;= 0) {
              int trackIndex = extractor.getSampleTrackIndex();
              long presentationTimeUs = extractor.getSampleTime();
              ...
              extractor.advance();
            }

            extractor.release();
            extractor = null;

此類別在使用網路內容時需取得 android.Manifest.permission#INTERNET 權限。

Java 文件 android.media.MediaExtractor。

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

建構函式

名稱 Description
MediaExtractor()

欄位

名稱 Description
SampleFlagEncrypted
已淘汰.

該範例(至少部分)加密,另見相關文件 android.media.MediaCodec#queueSecureInputBuffer

SampleFlagPartialFrame
已淘汰.

這表示緩衝區只包含部分框架,解碼器應批次處理資料直到出現無此標誌的緩衝區,再解碼該框架。

SampleFlagSync
已淘汰.

取樣是同步取樣(在 MediaCodec的術語中稱為關鍵影格)。

SeekToClosestSync
已淘汰.

如果可能,尋找最接近指定時間的同步取樣

SeekToNextSync
已淘汰.

如果可能,請在指定時間或之後尋找同步取樣

SeekToPreviousSync
已淘汰.

如果可能,請在指定時間或之前尋找同步取樣

屬性

名稱 Description
CachedDuration

回傳目前記憶體中快取資料量的估計值,以微秒為單位。

Class

回傳此 Object的執行時類別。

(繼承來源 Object)
DrmInitData

如果有 DRM 初始化資料,請擷取

Handle

底層 Android 實例的帳號。

(繼承來源 Object)
HasCacheReachedEndOfStream

當我們正在快取資料且快取已到達資料流的末端時,回傳為真(目前,未來的尋道當然可能會重新開始資料擷取)。

JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

(繼承來源 JavaObject)
JniPeerMembers

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

LogSessionId

回傳 LogSessionId MediaExtractor。 -或- 設定 LogSessionId 為 MediaExtractor。

Metrics

回傳關於目前媒體容器的指標資料。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
PsshInfo

如果有PSSH資訊,記得取得。

SampleFlags

回傳當前取樣的旗標。

SampleSize

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

SampleTime

回傳目前樣品的呈現時間,單位為微秒。

SampleTrackIndex

回傳目前取樣來源的曲目索引(若無更多取樣則回傳 -1)

ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)
ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)
TrackCount

計算資料來源中發現的軌道數量。

方法

名稱 Description
Advance()

進入下一個樣本。

AdvanceAsync()

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

Clone()

建立並回傳此物件的副本。

(繼承來源 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

(繼承來源 JavaObject)
Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

(繼承來源 JavaObject)
Equals(Object)

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

(繼承來源 JavaObject)
Equals(Object)

表示是否有其他物體「等同」於此物。

(繼承來源 Object)
GetAudioPresentations(Int32)

取得該曲可選的音頻呈現清單。

GetCasInfo(Int32)

取得用於干擾軌道的條件存取系統資訊。

GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 Object)
GetSampleCryptoInfo(MediaCodec+CryptoInfo)

若樣本標誌顯示目前樣本至少部分加密,此呼叫會回傳解密所需樣本資料結構的相關資訊。

GetTrackFormat(Int32)

取得指定索引的曲目格式。

JavaFinalize()
已淘汰.

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。

(繼承來源 Object)
Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

(繼承來源 Object)
ReadSampleData(ByteBuffer, Int32)

擷取目前編碼的取樣,並從給定偏移量開始儲存在位元組緩衝區。

ReadSampleDataAsync(ByteBuffer, Int32)

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

Release()

完成後一定要打電話給你,這樣可以釋放資源,而不是依賴垃圾回收器在未來某個時候幫你處理。

SeekTo(Int64, MediaExtractorSeekTo)

所有選定的軌道都會依照指定模式在指定時間附近尋找。

SelectTrack(Int32)

後續呼叫 #readSampleData, #getSampleTrackIndex 且 #getSampleTime 僅取得所選軌道子集的資訊。

SetDataSource(AssetFileDescriptor)

設定資料來源(AssetFileDescriptor)要使用。

SetDataSource(Context, Uri, IDictionary<String,String>)

將資料來源設定為內容 Uri。

SetDataSource(FileDescriptor, Int64, Int64)

設定使用資料來源(FileDescriptor)。

SetDataSource(FileDescriptor)

設定使用資料來源(FileDescriptor)。

SetDataSource(MediaDataSource)

設定資料來源(MediaDataSource)的使用。

SetDataSource(String, IDictionary<String,String>)

設定使用的資料來源(檔案路徑或 http URL)。

SetDataSource(String)

設定使用的資料來源(檔案路徑或 http URL)。

SetDataSourceAsync(AssetFileDescriptor)

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

SetDataSourceAsync(Context, Uri, IDictionary<String,String>)

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

SetDataSourceAsync(FileDescriptor, Int64, Int64)

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

SetDataSourceAsync(FileDescriptor)

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

SetDataSourceAsync(MediaDataSource)

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

SetDataSourceAsync(String, IDictionary<String,String>)

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

SetDataSourceAsync(String)

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetMediaCas(MediaCas)

設定 MediaCas 實例使用。

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

(繼承來源 JavaObject)
ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToString()

回傳物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
UnselectTrack(Int32)

後續呼叫 #readSampleData, #getSampleTrackIndex 且 #getSampleTime 僅取得所選軌道子集的資訊。

Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

(繼承來源 Object)
Wait(Int64, Int32)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

(繼承來源 JavaObject)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於