Воспроизведение видеофайла из внутренней памяти Android с помощью VideoView

Пытаюсь воспроизвести видео, хранящееся во внутренней памяти Android. Однако, что бы я ни делал, он продолжает возвращаться либо с ошибкой -1, либо с ошибкой -38. Обе ошибки кажутся довольно общими, поэтому они малопонятны.

Мне интересно, можно ли использовать экземпляр VideoView, а не экземпляр MediaPlayer, для воспроизведения видеофайла из локального хранилища.

Шаги, связанные с моим приложением, включают:

  1. загрузку файла с удаленного URL-адреса
  2. сохранение файла во внутреннем хранилище (обратите внимание, я использую соглашение, чтобы убедиться, что оно имеет глобальный разрешения на чтение. то есть

    openFileOutput (имя_файла, Context.MODE_WORLD_READABLE);
    
  3. Считывание медиафайла позже из этого места и воспроизведение его в видевидео.

    String filePath = "file://" + getFilesDir()+File.separator+file_name;
    Uri videoUri = Uri.parse(filePath);
    Log.d("Видеоплеер", путь к файлу);
    videoPlayer.setVideoURI(videoUri);
    

Я также просмотрел другие ссылки в StackOverflow, которые указывают на то, что мне нужно реализовать CustomContentProvider, чтобы иметь возможность читать эти файлы. Есть ли прямой способ получить доступ к файлу uri и установить его в videoView, не прибегая к созданию настраиваемого поставщика контента и использованию mediaPlayer вместо videoView.

Другие использованные ссылки на StackOverflow

  1. Android — загрузка видео из личной папки приложения
  2. Может ли видеопросмотр воспроизводить видео, хранящееся во внутренней памяти?

9
задан Community 23 May 2017 в 12:25
поделиться