我想在VideoView
中播放视频。
当我尝试这样做时,我收到以下错误:
这是我的源代码:
package com.video.listitem;
import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.widget.MediaController;
import android.widget.VideoView;
public class PlayVideo extends Activity {
VideoView mVideoView;
MediaController mc;
String videourl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.videoplay);
try {
mVideoView = (VideoView) findViewById(R.id.videoview);
String videourl = "rtsp://v7.cache4.c.youtube.com/CiILENy73wIaGQl25yDUbxNXTRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp";
mc = new MediaController(this);
mVideoView.setMediaController(mc);
mVideoView.requestFocus();
mVideoView.setVideoURI(Uri.parse(videourl));
mc.show();
mVideoView.start();
} catch (Exception e) {
//TODO: handle exception
}
}
}
这是我的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"
android:scrollbars="none"
android:gravity="center">
<VideoView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/videoview" />
</LinearLayout>
答案 0 :(得分:3)
尝试在设备中运行应用,视频可能无法在模拟器中运行...
答案 1 :(得分:1)
尝试添加连接到互联网的权限!
uses-permission android:name="android.permission.INTERNET"
答案 2 :(得分:1)
在提供的示例代码中查看我的回复here。如果视频未播放,请尝试使用Handbrake等程序对其进行重新编码,然后重试。有关支持的视频格式的信息:Android Supported Media Formats
答案 3 :(得分:0)
此问题的答案可能在this post中:
返回
false
或根本没有OnErrorListener
会导致OnCompletionListener
要被调用。因此从函数中返回
true
而不是false
且没有错误 将会显示,即video.setOnErrorListener(new OnErrorListener() { @Override public boolean onError(MediaPlayer mp, int what, int extra) { Log.d("video", "setOnErrorListener "); return true; } });
答案 4 :(得分:0)
public void playVideo() {
videoView = findViewById(R.id.vid);
videoView.setVideoPath("rtsp://v7.cache4.c.youtube.com/CiILENy73wIaGQl25yDUbxNXTRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp")
videoView.start();
}
只需在onCreate()方法中调用此函数
答案 5 :(得分:-3)
可能是网址不正确。尝试使用vlc播放器播放该流。如果它被播放,那么我们可以调查其他可能的原因
答案 6 :(得分:-3)
好的,你要做的第一件事是清理你的布局,这是你的第一个问题:
首先解开它并使问题可见:
你应该已经发现了在中心之后错过了你的关闭帽的错误“,只需添加一个”&gt;“......就是这样。清理项目,你应该看到rtsp视频。你的互联网许可如前所述