No puedo reproducir este video. Android videoView mp4 grabado por dispositivo Android

introduzca la descripción de la imagen aquí

He buscado soluciones potenciales existentes con otros formats y éstas aún responden con el error mencionado.

Finalmente, grabó el video con el mismo dispositivo y lo usó como un recurso para esta aplicación y aún no funciona.

Dispositivos: SGS2 , lenovo a820

Tipo de video: video MPEG-4 video (video/mp4)

  videoView = (VideoView)findViewById(R.id.videoView); videoView.setVideoPath("android.resource://raw/sample.mp4"); videoView.start(); 

solo vea mi código de abajo funciona … problema en la statement de pathe …

  String uriPath = "android.resource://"+getPackageName()+"/"+R.raw.aha_hands_only_cpr_english; Uri uri = Uri.parse(uriPath); mVideoView.setVideoURI(uri); 

Eso es…

Intenté todo lo mencionado anteriormente, pero resulta que se necesita permiso de Internet para reproducir un archivo mp4.

  

Para Lenovo a820, a continuación es necesario:

 - MP4/WMV/H.264/H.263 player - MP3/WAV/WMA/eAAC+ player 

Asegúrese de que su video se ajuste al formato codec anterior.

intenta seguir el código …

 videoView = (VideoView)this.findViewById(R.id.videoView); String path = "android.resource://" + getPackageName() + "/" + R.raw.video_file; MediaController mc = new MediaController(this); videoView.setMediaController(mc); videoView.start(); 
 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); } } 

Asegúrese de que el decodificador (target sdk) admita el formato de video que está utilizando. Puede usar VLC Player para convertir el formato de video al deseado. En mi caso, convertí el archivo MP4 a WebM y lo cargué en el VideoView.

Aquí es cómo obtener la ruta del archivo y reproducir su video.

 String path = "android.resource://" + getPackageName() + "/" + R.raw.sample; VideoView videoView = (VideoView)findViewById(R.id.videoView); videoView.setVideoURI(Uri.parse(path)); videoView.start() 

Fuente: Soporte de formato y códec de video https://developer.android.com/guide/topics/media/media-formats.html

Intenta esto siguiendo el código que funciona ……….

 VideoView videoView = (VideoView) findViewById (R.id.videoView);

 videoView.setVideoPath ("android.resource: //" + getPackageName () + "/" + R.raw.videoname;

 videoView.start ();