MediaExtractor 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
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 extractor = new MediaExtractor();
extractor.setDataSource(...);
int numTracks = extractor.getTrackCount();
for (int i = 0; i < 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, ...) >= 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 |
已淘汰.
該範例(至少部分)加密,另見相關文件 |
| SampleFlagPartialFrame |
已淘汰.
這表示緩衝區只包含部分框架,解碼器應批次處理資料直到出現無此標誌的緩衝區,再解碼該框架。 |
| SampleFlagSync |
已淘汰.
取樣是同步取樣(在 |
| SeekToClosestSync |
已淘汰.
如果可能,尋找最接近指定時間的同步取樣 |
| SeekToNextSync |
已淘汰.
如果可能,請在指定時間或之後尋找同步取樣 |
| SeekToPreviousSync |
已淘汰.
如果可能,請在指定時間或之前尋找同步取樣 |
屬性
| 名稱 | Description |
|---|---|
| CachedDuration |
回傳目前記憶體中快取資料量的估計值,以微秒為單位。 |
| Class |
回傳此 |
| DrmInitData |
如果有 DRM 初始化資料,請擷取 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| HasCacheReachedEndOfStream |
當我們正在快取資料且快取已到達資料流的末端時,回傳為真(目前,未來的尋道當然可能會重新開始資料擷取)。 |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。 (繼承來源 JavaObject) |
| JniPeerMembers |
MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。 |
| LogSessionId |
回傳 |
| 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) |
後續呼叫 |
| 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) |
後續呼叫 |
| 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) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
MediaExtractor 促進從資料來源中提取已解多工(通常編碼)的媒體資料。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |