Почему Videoview не может воспроизводить видео Youtube?

Я пытаюсь воспроизвести видео Youtube с Youtube на некоторых устройствах, но они возвращают диалоговое окно: «Видео не может быть воспроизведено».

Я уже читал документацию по API Youtube.

У меня есть VideoView, и я установил видео Uri как URL-адрес с расширением .3pg.

Это мой код:

 VideoView videoView = (VideoView)this.findViewById(R.id.video); 
 MediaController mc = new MediaController(this); 
 videoView.setMediaController(mc);
 videoView.setVideoURI(Uri.parse("rtsp://v1.cache2.c.youtube.com/CigLENy73wIaHwmhXrOROaqgpBMYESARFEgGUgx1c2VyX3VwbG9hZHMM/0/0/0/video.3gp")); 
 videoView.requestFocus(); 
 videoView.start();

Пробовал другие ролики и играю правильно. Что я делаю неправильно?


person Beni    schedule 05.06.2012    source источник
comment
Некоторые видео запрещено воспроизводить на мобильных устройствах. Вы пробовали воспроизводить их на своем мобильном телефоне?   -  person Eugenio Cuevas    schedule 05.06.2012


Ответы (3)


Если встраивание видео не является вашим явным требованием, почему бы вам просто не начать намерение с URL-адреса видео Youtube и позволить ОС обрабатывать это намерение за вас? Насколько мне известно, это самый простой способ воспроизвести видео на android. Например,

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("Your youtube URL here"));
startActivity(intent);

Для получения дополнительной информации о намерениях Android см. эту ссылку и руководство по vogella

person Amit    schedule 05.06.2012
comment
Что, если встраивание видео - мое явное требование? - person Sreekanth Karumanaghat; 26.06.2020

Следующий фрагмент поможет вам.

В основном вам понадобится setOnPreparedListener

 try {

                final VideoView videoView =(VideoView)findViewById(R.id.videoView1);
                // Set video link (mp4 format )
                Uri video = Uri.parse(video_url);
                videoView.setVideoURI(video);
                videoView.setOnPreparedListener(new OnPreparedListener() {
                    public void onPrepared(MediaPlayer mp) {
                       progressDialog.dismiss();
                       videoView.start();
                    }
                });

             }catch(Exception e){
                 progressDialog.dismiss();
                 System.out.println("Video Play Error :"+e.getMessage());
             }
person Vipul    schedule 05.06.2012
comment
извините, это не работает для меня. Я просто хочу воспроизвести ваше видео из трубки в видео, но я не могу воспроизвести таким образом. можешь помочь мне ? - person Chintan Khetiya; 04.12.2012

вам нужно запустить намерение с URL-адресом YouTube и позволить ОС его обработать. То есть я не думаю, что вы можете встраивать видео с YouTube прямо в свою деятельность, хотя мне бы хотелось, чтобы меня доказали, что он ошибается.

person K_Anas    schedule 05.06.2012