vivo videos studio reproductor reproducir poner para musica insertar hacer fuente fondo como codigo android mp4 assets

android - studio - ¿Cómo cargar videos desde la carpeta de activos?(Para jugar con VideoView)



reproductor de video para android codigo fuente (3)

Necesito abrir un video mp4 desde la carpeta de activos y reproducirlo con VideoView.

Probé con estas dos opciones, pero ninguna de ellas funciona ...

mVideoView.setVideoPath("file:///android_asset/videos.mp4"); mVideoView.requestFocus(); mVideoView.start();

y...

String uriPath = "file:///android_asset/videos.mp4"; Uri uri = Uri.parse(uriPath); mVideoView.setVideoURI(uri); mVideoView.requestFocus(); mVideoView.start();

Estas opciones no funcionaron, pero si intento abrir el video desde la tarjeta SDCARD funciona perfectamente, entonces el problema es cuando intento cargar el video desde la carpeta de activos.

¿Qué estoy haciendo mal?

Gracias


No es posible reproducir el archivo .mp4 desde /assets , debe cargarlo desde /raw carpeta /raw .

Ejemplo:

Si tiene un archivo llamado video.mp4 dentro de la carpeta /raw :

String fileName = "android.resource://"+ getPackageName() + "/raw/video"; VideoView vv = (VideoView) this.findViewById(R.id.surface); vv.setVideoURI(Uri.parse(fileName)); vv.start();


No sé cómo cargar videos desde la carpeta de activos. Pero sé cómo cargarlos desde la carpeta / res / raw /:

String uriPath = "android.resource://yourapplicationpackage/raw/videofilenamewithoutextension"; Uri uri = Uri.parse(uriPath); video.setVideoURI(uri);


Editado

Tratar:

this.setContentView(R.layout.videoview); mVideoView = (VideoView) this.findViewById(R.id.surface_view); SurfaceHolder holder = mVideoView.getHolder(); holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); MediaPlayer player = new MediaPlayer(); player.setDisplay(holder); AssetFileDescriptor afd; try { afd = getAssets().openFd("v.mp4"); player.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(), afd.getLength()); player.prepareAsync(); player.setOnPreparedListener(new OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { mp.start(); } }); } catch (Exception e) { e.printStackTrace();}