0

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!

Community
  • 1
  • 1
Ron
  • 22,128
  • 31
  • 108
  • 206

1 Answers1

5

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.

Community
  • 1
  • 1
Ron
  • 22,128
  • 31
  • 108
  • 206