I'm working with a videoview and I play dynamically videos which are stored locally.
Here's my setup:
videoView.setMediaController(null);
videoView.setOnCompletionListener(myVideoViewCompletionListener);
videoView.setOnErrorListener(videoOnErrorListener);
And here are the functions:
private OnErrorListener videoOnErrorListener = new OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Log.i(PlayActivity.class.getSimpleName(), "Not played");
do_stuff();
return true;
}
};
MediaPlayer.OnCompletionListener myVideoViewCompletionListener = new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.reset();
do_stuff();
}
};
I also tried to do mp.release()
but then I get an IllegalStateException
when I want to do something with my videoview
.
I get these errors/warnings. Any idea what they do or if they can be a problem?
E/Mediaplayer: error (1, -2147483648)
W/Mediaplayer: mediaplayer went away with unhandled events
W/Mediaplayer: this is IMEDIA_PLAYER_VIDEO_EXIST
W/Mediaplayer: this is IMEDIA_PLAYER_VIDEO_EXIST
W/Mediaplayer: info/warning (3, 0)
The odd thing is: The last 3 line occur every time the videoview plays a video (it's somehow a loop). The first one I get only from the second time on.
Thanks!
Ok, it seems that the error occurs when there is no MediaController
set.
So I did the following:
//MediaController
MediaController mediaController = new MediaController(this);
mediaController.setVisibility(View.GONE);
mediaController.setAnchorView(videoView);
// Init Video
videoView.setMediaController(mediaController);
I disabled the controller because I don't want it to pop up very time a video starts.