我需要帮助,我在此 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();
}
}
});