Can't play this video. Android videoView mp4 recorded by android device
Please refer below code snippet...problem was with the path declaration..
String uriPath = "android.resource://"+getPackageName()+"/"+R.raw.aha_hands_only_cpr_english; Uri uri = Uri.parse(uriPath); mVideoView.setVideoURI(uri);
Thats it...
I tried everything mentioned before but it turns out that internet permission is needed to play a mp4 file.
<uses-permission android:name="android.permission.INTERNET" />
public class videoplayer extends Activity { private static final String Videos_URL = "*your URI*"; private VideoView myVideoView; private int position = 0; private ProgressDialog progressDialog; private MediaController mediaControls; @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Get the layout from video_main.xml setContentView(R.layout.activity_main); if (mediaControls == null) { mediaControls = new MediaController(this); } // Find your VideoView in your video_main.xml layout myVideoView = (VideoView) findViewById(R.id.videoView); // Create a progressbar progressDialog = new ProgressDialog(this); // Set progressbar title progressDialog.setTitle("ABCDEFGH"); // Set progressbar message progressDialog.setMessage("Loading..."); progressDialog.setCancelable(false); // Show progressbar progressDialog.show(); try { Uri video = Uri.parse(Videos_URL); myVideoView.setVideoURI(video); myVideoView.setMediaController(mediaControls); } catch (Exception e) { Log.e("Error", e.getMessage()); e.printStackTrace(); } myVideoView.requestFocus(); myVideoView.setOnPreparedListener(new OnPreparedListener() { // Close the progress bar and play the video public void onPrepared(MediaPlayer mp) { progressDialog.dismiss(); myVideoView.seekTo(position); if (position == 0) { myVideoView.start(); } else { myVideoView.pause(); } } }); } @Override public void onSaveInstanceState(Bundle savedInstanceState) { super.onSaveInstanceState(savedInstanceState); savedInstanceState.putInt("Position", myVideoView.getCurrentPosition()); myVideoView.pause(); } @Override public void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); position = savedInstanceState.getInt("Position"); myVideoView.seekTo(position); }}