MediaMetadataRetriever недопустимый аргумент
Я пытаюсь получить кадр из видео, которое пользователь выбирает из своей галереи. Я использую MediaMetadataRetreiver и по какой-то причине на "setDataSource" я получаю недопустимый аргумент.
Я передаю туда строку видео о местоположении. Я не знаю, что я делаю не так, но на этой линии всегда происходит сбой.
Пример кода
private void uploadData(final Uri videoUri, final String videoPath) {
if(videoUri != null){
UploadTask uploadTask = videoRef.putFile(videoUri);
uploadTask.addOnCompleteListener(new OnCompleteListener<UploadTask.TaskSnapshot>() {
@Override
public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) {
if(task.isSuccessful())
Toast.makeText(getContext(), "Upload Complete", Toast.LENGTH_LONG).show();
progressBarUpload.setVisibility(View.INVISIBLE);
etTitleMusic.setText("");
progressDialog.dismiss();
createFrameFromVideo(videoPath);
String videoUrl = task.getResult().getDownloadUrl().toString();
}
}).addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
updateProgress(taskSnapshot);
}
});
}else {
Toast.makeText(getContext(), "Nothing to upload", Toast.LENGTH_SHORT).show();
}
}
private void createFrameFromVideo(String videoPath) {
MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever();
mediaMetadataRetriever.setDataSource(videoPath);
Bitmap bmFrame = mediaMetadataRetriever.getFrameAtTime(5000000);
imageView.setImageBitmap(bmFrame);
imageView.setVisibility(View.VISIBLE);
}
В этой строке mediaMetadataRetriever.setDataSource(videoPath); это сбой.
Что я делаю неправильно?
Редактировать - Ошибка журнала
12-02 13:40:39.212 15082-15082/com.world.bolandian.talent E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.world.bolandian.talent, PID: 15082
java.lang.IllegalArgumentException
at android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:73)
at com.world.bolandian.talent.fragments.AddVideoAudioFragment.createFrameFromVideo(AddVideoAudioFragment.java:207)
at com.world.bolandian.talent.fragments.AddVideoAudioFragment.access$400(AddVideoAudioFragment.java:44)
at com.world.bolandian.talent.fragments.AddVideoAudioFragment$2.onComplete(AddVideoAudioFragment.java:187)
at com.google.firebase.storage.zzl.zzi(Unknown Source)
at com.google.firebase.storage.zzaa.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:742)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5571)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)