воспроизведите видео полный экран

Я пытаюсь играть видео в своем приложении. Это должно быть встроено.

Я прошел "Видеофайлы игры в Android" поток.

Я могу играть свое использование видео VideoView, как упомянуто в этом обсуждении. Но существует несколько проблем.

  1. Мне нужно полноэкранное видео, как я расширяю VideoView на полный экран? Это расширит видео также?

  2. Мне не нужно значение по умолчанию, играть/передавать/кнопки остановки вообще. В основном мне нужно проигрывание непрерывного цикла видео.

Я попробовал класс MediaPlayer как в здесь, но он никогда не работал. На что должен быть похожим формат строки, если у меня есть свой видеофайл в res/raw каталоге? Я действительно не хочу видеофайл, играемый от sdcard. Как это может быть связано наряду с приложением?

Если какой-либо из этих двух подходов будет работать, то я буду более обеспечен.

Это - мой код:

videoHolder = new VideoView(this); 
// videoHolder = (VideoView)findViewById(R.id.videoview); 
LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); 
videoHolder.setLayoutParams(params); 
videoHolder.setMediaController(new MediaController(this)); 
setContentView(videoHolder); 
// 
// 
//// I tested and found that it works fine for .wmv, .3gp and .mp4 
//// videoHolder.setVideoURI(Uri.parse("file:///sdcard/video.3gp")); 
videoHolder.setVideoURI(Uri.parse("res/raw/demo.3gp")); 
videoHolder.requestFocus(); 
videoHolder.start(); 

Странно прокомментированные работы URL (та с sdcard). Другой не работает. Я попробовал много комбинаций из "file:// res/raw/demo.3gp" только к "демонстрации".

Какова была бы корректная строка для доступа к файлу?

17
задан sth 2 August 2010 в 01:30
поделиться

2 ответа

Я решил проблему:

1. Чтобы удалить кнопки продолжения / паузы, снимите медиа-контроллер. Для проблемы с зацикливанием поместите OnCompletionListener , чтобы, когда видео доходит до конца, оно запускалось снова:

videoView.setOnCompletionListener(
        new MediaPlayer.OnCompletionListener() {
        public void onCompletion(MediaPlayer mp) {
            videoView.start();
        }
        });

2. Чтобы изменить размер видео, переопределите метод onMeasure () в VideoView следующим образом:

public class MyVideoView extends VideoView {

        public MyVideoView(Context context) {
            super(context);
        }

        @Override
        protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec)
        {
             setMeasuredDimension(480,800);
        }

    }
8
ответ дан 30 November 2019 в 10:06
поделиться

Я знаю, что этой теме уже несколько недель, но вам не нужно копировать видеофайл на SD-карту, чтобы просто воспроизвести его. Используйте следующее, но вставьте имя вашего пакета вместо «com.yourcompany.yourproject»:

videoView.setVideoURI(Uri.parse("android.resource://com.yourcompay.yourproject/" + R.raw.yourvideoresource) );

6
ответ дан 30 November 2019 в 10:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: