Loop de vídeo sin problemas con VideoView
Tengo el siguiente código para tomar un video como un recurso en bruto, iniciar el video y el bucle, pero necesito el video para realizar un bucle a la perfección a partir de ahora cuando se trata de un final del clip y comienza el clip de nuevo la transición entre causas a Parpadeo por una fracción de segundo, que realmente no puedo tener para mi aplicación.
public class Example extends Activity { VideoView vv; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); vv = (VideoView)findViewById(R.id.VideoView01); //Video Loop vv.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { public void onCompletion(MediaPlayer mp) { vv.start(); //need to make transition seamless. } }); Uri uri = Uri.parse("android.resource://com.example/" + R.raw.video); vv.setVideoURI(uri); vv.requestFocus(); vv.start(); } }
El clip es de sólo 22 segundos de largo, pero fue creado para ser transparente por lo que es posible trabajar sin demora.
- Deshabilitar almacenamiento intermedio en Android VideoView / MediaController
- Cómo activar FullScreen con VideoView Android
- Cómo capturar / grabar un clip desde URL de vídeo en Android y guardarlo en el teléfono
- Instrucciones del juego 360 mp4 vids?
- Android obtener captura de pantalla de videoview actual
- Android: Reproductor de video como la aplicación de Dailymotion
- El botón de retroceso de Android no funciona mientras se reproduce vídeo en VideoView
- Tableta Android con vídeo incorporado pierde video en rotación
- Cómo reproducir video de video-view que actualmente se enfoca en la vista de reciclador
- Mostrar dos vídeos juntos y luego mostrar como un video fusionado en una sola pantalla
- Cómo prebuffer VideoView A mientras otro VideoView B está jugando - Android
- Android Media Server murió después de que alguna parte jugada con Error 100 0
- Reproducir video mediante videoview en Listview
Pruebe esto funcionará 100%
videoView.setOnPreparedListener(new OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { mp.setLooping(true); } });
La pausa es que el MediaPlayer
subyacente actualice sus búferes. El tiempo que se tardará dependerá de una serie de factores, muchos de los cuales están fuera de su control (por ejemplo, la velocidad de la CPU, la velocidad de almacenamiento flash a bordo).
Uno que puedes controlar es sacar tu video del recurso y en el sistema de archivos. Los recursos se almacenan en el APK, que es un archivo ZIP, por lo que extraer el video de esta manera probablemente lleva tiempo extra.
Puede que tenga que cambiar de VideoView
y utilizar un SurfaceView
con dos MediaPlayers
, alternando entre ellos – uno está jugando mientras se está preparando el próximo, por lo que cuando el juego uno termina se puede cambiar al nuevo jugador. No he intentado esto, y por lo tanto no sé cuáles podrían ser las ramificaciones. Sin embargo, sé que esta técnica se utiliza con frecuencia para la reproducción de audio para la transición de un clip a otro.
Poco tarde, pero cualquier razón que no se puede utilizar lo siguiente?
MediaPlayer.setLooping(true);
Respuesta a esto es eliminar el audio del video y convertirlo en un archivo .ogg
que se puede conectar sin problemas y luego utilizar el video sin audio para realizar bucle y esto funciona.
Aquí está la respuesta amigos, debe utilizar vv.resume
en la clase setOnCompletionListener
- ¿Añadir margen entre un RadioButton y su etiqueta en Android?
- Importación de la biblioteca de Facebook en Android Studio: No se pudo encontrar la propiedad 'ANDROID_BUILD_SDK_VERSION'