如何在Android中从URL播放视频?
我编写了从URL播放视频的代码。但我收到如何在Android中从URL播放视频?,android,Android,我编写了从URL播放视频的代码。但我收到无法播放视频的消息 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); VideoView videoView = (VideoView) findViewById(R.id.video); MediaController mc = new Me
无法播放视频的消息
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();
}
以下是播放视频的简单方法
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>
您可以通过另一个应用程序简单地激发播放视频的意图。
在这里,Youtube应用程序将检测到Youtube视频,并将提示对话框代表您播放视频
String url = "http://www.youtube.com/watch?v=qvtCk1wZ7LM";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
但是,如果你真的想在应用程序中集成视频播放器,我强烈建议你看看。这很简单,只需创建视频视图,然后添加一个新的媒体控制器,在视频视图中设置视频URL,然后启动视频即可
将以下代码添加到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& 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();
}
}
您最好在脱机文件上试用,以确保视频查看器工作正常(视频与设备兼容),然后从YouTube联机播放。某些文件格式(如YouTube视频文件格式)无法在视频视图中打开。
videoview仅支持系统文件格式,可以像mp4一样打开它。3gp。其他。。。
对于open fly视频格式,您必须使用SurveView并创建可以处理此视频类型的类
要从链接获取视频,请使用输入流(不要使用字符串)
显示youtube视频的另一个简单方法是使用Intent.View、url(您的视频uri)
使用Exo Player,播放视频和功能都是更好的选择--遵循嗨,我得到了代码,它非常简单,只需使用WIFI打印机编写socket程序,你就可以放置LogCat跟踪,这样我们就可以查看了。我也尝试了mp4视频格式的相同代码,但我没有得到任何结果。请不要只是发布代码。一点解释就能帮助别人理解这很难理解。请编辑以澄清您的意思,特别是支持哪些格式。欢迎提供指向解决方案的链接,但请确保您的答案在没有它的情况下是有用的:这样您的其他用户将了解它是什么以及它为什么存在,然后引用你链接到的页面最相关的部分,以防目标页面不可用。OP已经为如何在Android中从URL播放视频提供了代码(显然没有功能)。如果使用Exo-Player更容易做到这一点,那么一个显示如何使用Exo-Player执行OP试图执行的操作的代码片段将是一个有用的答案。
String url = "http://www.youtube.com/watch?v=qvtCk1wZ7LM";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
@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& 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();
}
}