如何在Android中从URL播放视频?

时间:2011-06-29 05:50:14

标签: android

我为URL播放了播放视频的代码。但我收到UNABLE TO PLAY VIDEO消息。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    VideoView videoView = (VideoView) findViewById(R.id.video);
    MediaController mc = new MediaController(this);
    mc.setAnchorView(videoView);
    mc.setMediaPlayer(videoView);
    Uri video = Uri.parse("http://www.youtube.com/watch?v=qvtCk1wZ7LM&feature=player_detailpage");
    videoView.setMediaController(mc);
    videoView.setVideoURI(video);
    videoView.start();

}
<VideoView
android:layout_width="match_parent" 
           android:layout_height="wrap_content" 
           android:id="@+id/video"></VideoView>

5 个答案:

答案 0 :(得分:0)

您可以通过其他应用轻松触发Intent播放视频 在这里,Youtube应用会检测Youtube视频,并会提示对话框代表您播放视频。

    String url = "http://www.youtube.com/watch?v=qvtCk1wZ7LM";
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
    startActivity(intent);

但如果您真的想在应用中集成视频播放器,我强烈建议您查看Youtube API

答案 1 :(得分:0)

简单的只是创建视频视图,然后添加新的媒体控制器,在视频视图中设置视频网址并启动它将起作用的视频。

将以下代码添加到 MainActivity.java 文件中。

    @Override

     protected void onCreate(Bundle savedInstanceState)

          // TODO Auto-generated method stub
         super.onCreate(savedInstanceState);
         try {
         setContentView(R.layout.videodisplay);
         String link="http://s1133.photobucket.com/albums/m590/Anniebabycupcakez/?action=view&amp; current=1376992942447_242.mp4";
         VideoView videoView = (VideoView) findViewById(R.id.VideoView);
         MediaController mediaController = new MediaController(this);
         mediaController.setAnchorView(videoView);
         Uri video = Uri.parse(link);
         videoView.setMediaController(mediaController);
         videoView.setVideoURI(video);
         videoView.start();
     } catch (Exception e) {
         // TODO: handle exception
         Toast.makeText(this, "Error connecting", Toast.LENGTH_SHORT).show();
     }
 }

您最好在离线文件上尝试以确保视频查看器工作正常(视频与设备兼容),然后在线播放。

答案 2 :(得分:-1)

以下是播放视频的简单方法。

xml文件......

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

<LinearLayout android:id="@+id/LinearLayout01"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
android:paddingLeft="2px" android:paddingRight="2px"
android:paddingTop="2px" android:paddingBottom="2px"
android:layout_width="fill_parent" android:orientation="vertical">

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

</LinearLayout>

java文件.....

public class VideoPlayerController extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.video);

        VideoView videoView = (VideoView) findViewById(R.id.VideoView);
        MediaController mediaController = new MediaController(this);
        mediaController.setAnchorView(videoView);
        // Set video link (mp4 format )
        Uri video = Uri.parse("mp4 video link");
        videoView.setMediaController(mediaController);
        videoView.setVideoURI(video);
        videoView.start();

    }

}

答案 3 :(得分:-1)

像youtube视频文件格式的某些文件格式无法在视频视图中打开。 videoview只支持系统文件格式可以像mp4一样打开它。 3gp。其他... 对于开放式视频格式,您必须使用 surfeview 并创建可以处理此视频类型的类 并且从链接获取视频使用输入流(不要使用字符串) 显示youtube视频的其他简单方法就是使用Intent.View,url(你的视频uri) https://developer.android.com/guide/appendix/media-formats.html

答案 4 :(得分:-1)

使用Exo-Player时,最好播放视频并具有很多功能-遵循Exo Player Docs