1

我需要帮助,我在此 Videoview 下有一个 VideoView 和三个按钮,有一个设置为 Videoview 的默认 URL,我想要实现的是当用户单击按钮 A 时,这应该将 Videoview 更改为 url,即设置为用户单击的按钮,按钮 B 和 C 也是如此,单击的每个按钮都应将视图更改为附加到按钮单击的 url。目前,我使用的方法会冻结当前正在播放的 Videoview 并挂在那里。然后我在下面收到一条错误消息,但它不会使应用程序崩溃,它只是挂起当前显示的 Videoview

MediaPlayer(13338): Error (1,-2147483648) VideoView(13338): Error: 1,-2147483648
this is what am trying:-

 vid = (VideoView) findViewById(R.id.videoview);
 ImageView btnA = (ImageView) findViewById(R.id.low);
 ImageView btnB = (ImageView) findViewById(R.id.high);
 ImageView btnC = (ImageView) findViewById(R.id.audio);

 vid.setVideoPath(--default URL Here---); 


        MediaController mediaController = new MediaController(this);
        mediaController.setAnchorView(vid);
        vid.setMediaController(mediaController);
        vid.requestFocus();
        vid.start();

        videoBuffering = new ProgressDialog(this);
        videoBuffering.setMessage("Loading video data....");
        videoBuffering.setIcon(R.drawable.ic_launcher);
        videoBuffering.setTitle(R.string.app_name);
        videoBuffering.setProgressStyle(ProgressDialog.STYLE_SPINNER);
        videoBuffering.show();

        vid.setOnErrorListener(new OnErrorListener () {
            @Override
            public boolean onError(MediaPlayer mp, int what, int extra) {
                Log.e(TAG, "Error playing video");

                return true;
            }
        });

        vid.setOnPreparedListener(new OnPreparedListener(){

            @Override
            public void onPrepared(MediaPlayer mp) {
                videoBuffering.dismiss();

            }

        });


    btnA.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View arg0) {
            if (vid.isPlaying())
            {
                vid.suspend();
                vid.setVideoPath("URL 1");
                vid.start();
            }
            else{
                vid.setVideoPath("URL 1");
                vid.start();
            }
        }

    });

    btnB.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View arg0) {
            if (vid.isPlaying())
            {
                vid.suspend();
                vid.setVideoPath("URL 2");
                vid.start();
            }
            else{
                vid.setVideoPath("URL 2");
                vid.start();
            }
        }

    });

    btnC.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View arg0) {
            if (vid.isPlaying())
            {
                vid.suspend();
                vid.setVideoPath("URL 3");
                vid.start();
            }
            else{
                vid.setVideoPath("URL 3");
                vid.start();
            }
        }

    });
4

0 回答 0