簡體   English   中英

正在下載缺少的編解碼器?

[英]Downloading a missing codec?

我遇到無法下載某些隨機媒體文件的編解碼器的問題。 我希望有一種方法可以告訴android OS下載受尊敬的編解碼器以播放文件? 現在我正在使用https://github.com/brianwernick/ExoMedia播放器,它是exoPlayer for Android的一種分支。 而且我不支持編解碼器,只會播放音頻或什么都不會播放。 我如何獲取(甚至是操作系統)下載缺少的編解碼器?

這是我想解決的許多設備上無法播放的mp4文件編解碼器信息:

在此處輸入圖片說明

代碼本身很簡單:

 class MediaPlayerActivity : AppCompatActivity(), OnPreparedListener {

    private var uri: String = ""

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_media_player)
        uri = intent.getStringExtra("uri")

        setupVideoView(uri)
    }

    private fun setupVideoView(uri: String) {
        videoView.setOnPreparedListener(this)
        videoView.setVideoURI(Uri.parse(uri))
    }

    override fun onPrepared() {
        //Starts the video playback as soon as it is ready
        videoView.start()
    }

}

以及相應的xml文件:

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/black">

    <com.devbrackets.android.exomedia.ui.widget.VideoView
        android:id="@+id/videoView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:useDefaultControls="true" />

</RelativeLayout>

我還在android設備上安裝了mx播放器,而mx播放器不提供安裝編解碼器。 相反,它只播放音頻,沒有視覺效果。 另外,如果我在Chrome中打開mp4,播放效果會很好。

您正在嘗試在各種設備上播放以H.264編碼的UHD(2160x3840)視頻。 這是一個壞主意,因為即使使用硬件解碼,每個設備都具有可以合理解碼的上限。 這可以解釋為什么您可以聽到音頻但看不到任何聲音。

通用解決方案是為目標客戶端提供適當的編碼視頻。 暗含的意思是,如果最終用戶處於計量數據連接中,則您傳送的文件/流不會大於所需的大小。

Android網站有尺寸/格式建議:

https://developer.android.com/guide/topics/media/media-formats

但實際詳細信息在Android兼容性定義文檔(CDD)中列出

您應該將視頻transcode成一組適合您期望並交付的適當編解碼器和比特率的文件。 例如,如果文件用於具有UHD屏幕的高端設備Display.getSupportedModes()Display.getSupportedModes()確定Display.getSupportedModes()則您應該以20 Mbps的速度在H.265或VP9中對視頻進行編碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM