SetDataSource MediaMetadataRetriver всегда терпит неудачуAndroid

Форум для тех, кто программирует под Android
Anonymous
SetDataSource MediaMetadataRetriver всегда терпит неудачу

Сообщение Anonymous »

retriever.setDataSource(context, uri)

Эта строка кода продолжает выдавать исключение:

не удалось получить доступ
android.resource:/data /user/0/ba.simovic.videoeditor/cache/editedVideo.mp4

Я получал видео из папки raw, редактировал его и сохранял новое видео для кэширования.

Путь к исходному видеофайлу android.resource:/2131492864 Отредактированное видео
Путь к файлу:
android.resource :/data/user/0/ba.simovic.videoeditor/cache/editedVideo.mp4
Преобразование файла завершено
/data/user/0/ba.simovic.videoeditor/cache/editedVideo.mp4< /p>

Затем я бы установил источник данных, и он выдал бы исключение.

Установить источник данных для uri
android.resource:/data/user/0/ba.simovic.videoeditor/cache/editedVideo.mp4
Не удалось получить доступ
android.resource:/data/user/ 0/ba.simovic.videoeditor/cache/editedVideo.mp4

Часть кода:
private fun getVideoFrame(context: Context?, uri: Uri?): Bitmap? {
var bitmap: Bitmap? = null
val retriever = MediaMetadataRetriever()

val currentPosMillis = exoPlayer.currentPosition.toDuration(DurationUnit.MILLISECONDS)
val currentPosMicroSec = currentPosMillis.inWholeMicroseconds

try {
retriever.setDataSource(context, uri)
bitmap = retriever.getFrameAtTime(currentPosMicroSec)
} catch (ex: RuntimeException) {
ex.printStackTrace()
} finally {
try {
retriever.release()
} catch (ex: RuntimeException) {
ex.printStackTrace()
}
}
return bitmap
}

Я получаю такое же исключение при попытке установить источник данных в качестве исходного видео, поэтому я точно знаю, что они существуют.
val videoUri = Uri.Builder().scheme(ContentResolver.SCHEME_ANDROID_RESOURCE).path(R.raw.diamond.toString()).build()

Button(onClick = { image.value = getVideoFrame(LocalContext.current, videoUri2) })

Используя код из этого ответа. Как захватить видеокадр Exoplayer Android
У меня есть следующие разрешения





Подробнее здесь: https://stackoverflow.com/questions/789 ... ways-fails

Вернуться в «Android»