Android:多个视频错误

时间:2014-03-13 11:07:56

标签: android android-mediaplayer

我有四个视频正在加载来自网址的一个活动。现在的问题是,当我开始活动时,所有视频都会同时播放。实际上我想要的是在开始时停止所有视频,当用户点击播放按钮时,应播放所选视频。如果有人有关于此问题的任何教程或任何代码帮助,请帮助我。

修改

这是我的活动代码。

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();


    }

2 个答案:

答案 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,根据您的代码