Я пытаюсь воспроизвести видео в эмуляторе Android У меня есть видео в папке моих ресурсов, а также в исходной папке Но после некоторых исследований все еще я не могу воспроизвести видео в своем эмуляторе я работаю над android 2.1 Мой видеоформат - mp4, поэтому я не думаю, что это проблема Может ли кто-нибудь просто дать мне пример кода, чтобы я мог понять немного больше?
Проблема заключается в том, что VideoView, который мне нужен для отображения видео, будет принимать только URI или путь к файлу, чтобы указать на видео.
Если я сохраню видео в папке raw или assets, я могу получить только входной поток или файловый дескриптор, и, похоже, ничего не может быть использовано для инициализации VideoView.
Обновление
Я более подробно рассмотрел пример MediaPlayer и попытался запустить MediaPlayer с FileDescriptor в файлы активов, как в приведенном ниже коде:
SurfaceView videoView = (SurfaceView) findViewById(gettingStarted)
SurfaceHolder holder = videoView.getHolder();
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
final MediaPlayer player = new MediaPlayer();
player.setDisplay(holder);
player.setDataSource(getAssets().openFd(fileName).getFileDescriptor());
player.prepareAsync();
player.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
Теперь я получаю следующее исключение:
java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed
Кажется, что нет другого способа скопировать файл на SD-карту при запуске, и это кажется пустой тратой времени и памяти.