Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to catch "Sorry, This video cannot be played" error on VideoView

I have a VideoView and I am streaming videos from a remote server. Most of the times It would play the videos very smoothly. But sometimes, it displays an error message "Sorry, This video cannot be played". I have a hunch that this is more on the supported video formats. However, I don't know which are the supported formats. My question is "How can I catch this error (e.g. Prevent the error message from appearing)"? I am using Android 2.2 on this project. Any advice would be greatly appreciated. :)

like image 986
emmandroid Avatar asked Jul 19 '11 03:07

emmandroid


2 Answers

Try using setOnErrorListener: the documentation says If no listener is specified, or if the listener returned false, VideoView will inform the user of any errors., so I'm assuming if you set one and return true it will not show the user error.

like image 193
Femi Avatar answered Sep 22 '22 08:09

Femi


The code I used for this:

@Override public void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);      setContentView(R.layout.main);      vView = (VideoView) findViewById(R.id.videoView1);      vSource = "android.resource://com.domain.android/"             + R.raw.introductionportrait;     vView.setVideoURI(Uri.parse(vSource));      vView.setOnErrorListener(mOnErrorListener);     vView.requestFocus();     vView.start(); }  private OnErrorListener mOnErrorListener = new OnErrorListener() {      @Override     public boolean onError(MediaPlayer mp, int what, int extra) {         // Your code goes here         return true;     } }; 
like image 33
ruxy Avatar answered Sep 24 '22 08:09

ruxy