Возникла проблема, из-за которой я не могу загрузить кодек для некоторых файлов мультимедиа. я надеялся, что есть способ, которым я могу сказать операционной системе Android загрузить соответствующий кодек для воспроизведения файла? сейчас я использую https://github.com/brianwernick/ExoMedia плеер, который является своего рода форком exoPlayer для 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>
Я также установил mx player на устройство Android, а mx player не предлагал установить кодек. вместо этого он играл только аудио, без визуального. Также, если я открою MP4 в Chrome, он играет хорошо.