疑難排解


為什麼我無法透過試用版應用程式存取本機檔案?

Android 11 的限定範圍儲存空間強制執行措施 (API 級別 30) 禁止直接存取檔案系統。在 只要新增管理外部 IP 位址的 儲存空間權限,包括:

<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>

然後透過 ADB 授予權限:

adb shell appops set --uid androidx.media3.demo.transformer \
    MANAGE_EXTERNAL_STORAGE allow

為什麼在特定裝置上匯出失敗?

請針對 Media3 相關問題回報問題 智慧手環,提供足夠的資訊 即可重現問題。可新增裝置相關問題的解決方法, 持續改善相容性

變壓器是否支援遠端媒體轉換 (或錄製)?

轉換器支援遠端漸進式串流,包括媒體檔案容器 例如 MP4

當網路狀況非常不良時,匯出作業可能會因為緩衝處理而失敗 遠端媒體的遠端媒體中觸發過長的觸發檢查 以找出管道停滯不前您可透過以下方式覆寫預設行為: 在 Transformer.Builder 上設定 maxDelayBetweenMuxerSamplesMs

Kotlin

Transformer.Builder(context)
    .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET)
    .build()

Java

new Transformer.Builder(context)
    .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET)
    .build();

傳入 C.TIME_UNSET 會完全移除逾時,但如果您的應用程式執行 遇到MediaCodec困難的晶片組時,建議設定更大的非零 逾時。

轉換器是否支援 8K 輸入?

Transformer 以跨格式的方式執行,因此不受限制 處理 8 千部影片,但裝置上的硬體功能可能意味著 無法匯出。例如,即使裝置可拍攝 8K 內容 您可能會因為超過 可用的硬體轉碼器或 RAM 資源。

Transformer 與平台相容的媒體轉碼有何關係?

相容媒體轉碼 是 Android 12 (API 級別 31) 的 Android 平台功能,可在 媒體檔案,最長可達一分鐘。如果發生以下情況: 選擇使用這項功能,讀取格式不相容的媒體檔案 都會視需要進行轉碼,然後快取結果供日後讀取 作業。

Transformer 也支援 格式 轉換,但 可做為支援資料庫使用,而且應用程式可以完全掌控 以及轉碼作業

如何縮短匯出延遲時間或增加處理量?

轉換器仰賴 MediaCodec 來進行硬體加速解碼和 以及處理影片影格的 OpenGL。我們根據 轉換器的處理量上限因素是硬體 MediaCodec 編碼器處理量,適用於未產生繁重影響的用途 和資料處理之間這可能也會以相同方式影響其他導入作業。適用對象 例如,平台相容的轉碼功能 Transformer。

試用版應用程式的偵錯預覽功能會大幅降低處理量,因此請先關閉 透過預先發布版應用程式的發布子版本進行測試,取得 實現實際的效能概念