2013-04-22 4 views
2

Я работаю над приложением, которое транслирует видео с YouTube. Вот мой фрагмент кода:Потоковое видео Youtube в android VideoView

MediaController mediaController = new MediaController(PlayVideo.this); 
mediaController.setAnchorView(videoView_Video); 
mediaController.setMediaPlayer(videoView_Video); 
Uri videoUri = Uri.parse(url); 
videoView_Video.setMediaController(mediaController); 
videoView_Video.setVideoURI(videoUri); 
videoView_Video.requestFocus(); 
videoView_Video.start(); 
mediaController.show(); 

Мой URI:

videoUri = rtsp://v2.cache8.c.youtube.com/CiILENy73wIaGQm-LZitWsUGKxMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp 

Сейчас я получаю сообщение об ошибке, как показано ниже:

1. http youtube = false, scheme = rtsp 
2. Couldn't open file on client side, trying server side 
3. Error (1,-2147483648) 
4. Error: 1,-2147483648 

И диалог с сообщением:

enter image description here

Просьба предложить любой ответ, чтобы преодолеть это.

+0

Я столкнулся с той же проблемой и обнаружил, что в Youtube api произошла ошибка, так как некоторые видео играли успешно, а некоторые - нет. После многого поиска я не смог найти стабильное решение. Тогда вы должны проверить, используете ли вы новейшую авию YouTube, поскольку в последней версии api всегда есть исправления ошибок. –

+0

вот решение, это сработало для меня [link] (stackoverflow. com/questions/12909515/play-youtube-video-in-videoview-in-application) –

ответ

3

Используйте правильный API вместо ручного разбора и поиска видео.

https://developers.google.com/youtube/android/player/

вы просто импортировать правильный YouTubeVideoPlayer и все работает отлично.

ps .: Я не предлагаю использовать это в ViewPager, у меня были проблемы с этим.

+0

Thanks Эта ссылка помогает мне – andrewww

1

В Google есть YouTube Android Player API, который позволяет включать функции воспроизведения видео в приложения Android. Сам API очень прост в использовании и работает хорошо. Например, вот как создать новое действие для воспроизведения видео с помощью API.

Intent intent = YouTubeStandalonePlayer.createVideoIntent(this, "<<YOUTUBE_API_KEY>>", "<<Youtube Video ID>>", 0, true, false);   
startActivity(intent); 

Для получения более подробной информации см. this.

Смежные вопросы