【问题标题】:Play Youtube videos in Video View in android在 android 的视频视图中播放 Youtube 视频
【发布时间】:2014-02-12 06:10:36
【问题描述】:

我正在用 android 开发一个 youtube 播放器。我正在获取 rtsp 视频正确的网址。但是视频仍然没有播放。请帮助我找到解决方案。

提前致谢

这是我的代码

String youtubeURL="rtsp://v6.cache4.c.youtube.com/CigLENy73wIaHwmh5W2TKCuN2RMYDSANFEgGUgx1c2VyX3VwbG9hZHMM/0/0/0/video.3gp";
  @Override
protected void onCreate(Bundle savedInstanceState)
{
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_online_video_player);

       videoView = (VideoView) findViewById(R.id.video_View);

       progressDialog = ProgressDialog.show(OnlineVideoPlayer.this, "", "Buffering video...",true);
       progressDialog.setCancelable(false);


       PlayVideo();
}

private void PlayVideo()
{
       try {
           final VideoView videoView =(VideoView)findViewById(R.id.video_View);
     //1   //mediaController = new MediaController(Splashscreen.this);
     //2   //mediaController.setAnchorView(videoView);
           // Set video link (mp4 format )
           Uri video = Uri.parse(youtubeURL);
           //videoView.setMediaController(mediaController);
           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());
        }

【问题讨论】:

  • 这段代码可以正常工作,可能问题出在你的xml文件中,你能把它贴出来
  • 我认为您的网址不正确。

标签: android video youtube


【解决方案1】:

这是另一个工作代码

MainActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_video_view);

    VideoView videoView =(VideoView)findViewById(R.id.videoView);
    MediaController mediaController= new MediaController(this);
    mediaController.setAnchorView(videoView);
    Uri uri=Uri.parse("rtsp://r2---sn-a5m7zu76.c.youtube.com/Ck0LENy73wIaRAnTmlo5oUgpQhMYESARFEgGUg5yZWNvbW1lbmRhdGlvbnIhAWL2kyn64K6aQtkZVJdTxRoO88HsQjpE1a8d1GxQnGDmDA==/0/0/0/video.3gp");
    videoView.setMediaController(mediaController);
    videoView.setVideoURI(uri);
    videoView.requestFocus();

    videoView.start();


}

activity_video_view.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<VideoView android:id="@+id/videoView"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent"/>
</LinearLayout>

【讨论】:

  • Awseome 代码。请告诉我如何生成任何 youtube cideo 的 rstp 链接?
  • 嘿,您是如何从 YouTube 获得 rstp 链接的?请告诉!非常需要
【解决方案2】:

不播放视频可能有很多原因,您可以在其他设备上测试它也设置 清单中的 android:hardwareAccelerated="true"

尝试关注听众以获得正确的问题

playerview.setOnPreparedListener(preparelistener);
        playerview.setOnErrorListener(errorlistenr);
        playerview.setOnCompletionListener(completelistener); 

【讨论】:

    【解决方案3】:

    你不能那样做。使用 YouTubeAndroidApi 播放 YouTube 视频。

    【讨论】:

    • 但是,如果您需要同时播放常规视频(来自 example.com/sample.mp4 等来源)和 youtube 视频,该怎么办。为了能够播放两种类型的视频而拥有两个视图似乎很愚蠢。
    • 用户需要运行 4.2.16 版移动版 YouTube 应用(或更高版本)才能使用 YouTube Android Player API。
    猜你喜欢
    • 2012-08-09
    • 2012-11-28
    • 1970-01-01
    • 1970-01-01
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 2012-12-14
    相关资源
    最近更新 更多