我有四个视频正在加载来自网址的一个活动。现在的问题是,当我开始活动时,所有视频都会同时播放。实际上我想要的是在开始时停止所有视频,当用户点击播放按钮时,应播放所选视频。如果有人有关于此问题的任何教程或任何代码帮助,请帮助我。
修改
这是我的活动代码。
MediaController mediaController;
private static String Video_url="http://mywebsite.com/files/video1.mp4";
private static String Video_url2="http://mywebsite.com/files/video2.mp4";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.url_activity_video);
VideoView video = (VideoView)findViewById(R.id.videoView);
VideoView video2 = (VideoView)findViewById(R.id.videoView2);
mediaController = new MediaController(this);
getWindow().setFormat(PixelFormat.UNKNOWN);
mediaController.setAnchorView(video);
String Video=Video_url;
video.setMediaController(mediaController);
video.setVideoURI(Uri.parse(Video));
video.start();
///////////// Video 2 /////////
mediaController.setAnchorView(video2);
String Video2=Video_url2;
video.setMediaController(mediaController);
video.setVideoURI(Uri.parse(Video2));
video.start();
}
答案 0 :(得分:0)
您只需创建一个按钮,然后在按钮单击侦听器上添加以下代码:
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
playVideo1(your video url)
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
playVideo2(your video url)
}
});
public static void playVideo1(String urlPath) {
VideoView mVideoview; // Added this line
mVideoView =(VideoView) findViewByid(R.yourvideoviewid);
try {
// Start the MediaController
MediaController mediacontroller = new MediaController(mContext);
mediacontroller.setAnchorView(mVideoview);
// Get the URL from String VideoURL
Uri mVideo = Uri.parse(urlPath);
mVideoview.setMediaController(mediacontroller);
mVideoview.setVideoURI(mVideo);
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
mVideoview.requestFocus();
mVideoview.setOnPreparedListener(new OnPreparedListener() {
// Close the progress bar and play the video
public void onPrepared(MediaPlayer mp) {
mVideoview.start();
}
});
mVideoview.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
}
});
}
希望这能回答你的问题。
答案 1 :(得分:0)
您正在使用onCreate
方法启动这两个视频,因此它会同时开始播放两个视频。
按以下步骤操作,
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
video1.start();
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
video2.start();
}
});
此外,您发布的video
对象的代码初始化了2次。
第二个视频应为video2
,根据您的代码