
Una delle classi offerti dalla SDK di Android per riprodurre i video in applicazioni che stiamo sviluppando è la classe VideoView. Questa classe che permettiamo, modulo semplice, la riproduzione dei video da la ripartizione delle sue Itinerario e la chiamata per il Metodo Start playlist. Vale a dire, con praticamente quattro linee codice, saremo in grado di visualizzare il video che si desidera in tale oggetto.
Come esempio, Supponiamo di avere un oggetto nella nostra interfaccia di classe VideoView, con nome videoPlayerView, e nella parte interna hanno le seguenti codice:
1 2 3 4 5 | VideoView videoPlayer = FindViewById<VideoView>(Resource.Id.videoPlayerView); string videoPath = $"android.resource://" + PackageName + "/" + Resource.Raw.nombreVideo; videoPlayer.SetVideoPath(videoPath); videoPlayer.Start(); |
Si presuppone anche che abbiamo una video in nome di una sottocartella ‘crudo‘, nella cartella risorse ‘Risorse‘.
Con questo, il video selezionato è giocherà nell'oggetto solo una volta. Beh ora, e se voglio fare il video riprodurre loop a tempo indeterminato?
Come giocare, in modalità loop, un video in un VideoView Xamarin Android
Al non avere qualsiasi metodo implicito che impostare la riproduzione in ciclo di modalità, Dovremo fare uso dell'oggetto MediaPlayer Questa vista è stata Associare. Classe VideoView è come una classe wrapper o Wrapper classe MediaPlayer, che rende più facile l'implementazione di video nella nostra applicazione.
Pertanto, Stiamo per accedervi tramite l'evento OnPrepared che ci dice che il supporto è pronto per la riproduzione e, per fare questo, Lo farà attraverso una Listener, più tardi che assegnerà al nostro VideoView.
Per il Listener, Noi creeremo un classe Che cosa implementare l'interfaccia IOnPreparedListener e scriveremo il metodo OnPrepared, come mostrato nel codice seguente:
1 2 3 4 5 6 7 | public class VideoLoop : Java.Lang.Object, Android.Media.MediaPlayer.IOnPreparedListener { public void OnPrepared(MediaPlayer mp) { mp.Looping = true; } } |
Con questo, Assegniamo il valore Vero per l'attributo Looping dell'oggetto MediaPlayer Associare.
Una volta che abbiamo la classe elenco, Abbiamo solo bisogno di assegnare un oggetto di questa classe al nostro oggetto di classe VideoView. Per fare questo, semplicemente utilizzare il metodo SetOnPreparedListener dello stesso, passando, come parametro, un oggetto della nuova classe VideoLoop che ho creato.
In questo modo, il codice iniziale sarebbe come segue:
1 2 3 4 5 6 | VideoView videoPlayer = FindViewById<VideoView>(Resource.Id.videoPlayerView); string videoPath = $"android.resource://" + PackageName + "/" + Resource.Raw.nombreVideo; videoPlayer.SetVideoPath(videoPath); videoPlayer.SetOnPreparedListener(new VideoLoop()); videoPlayer.Start(); |
Se si procede alla compilazione e eseguire il nostro applicazione, Vedremo ora come il video è Gioca modo continuo di ciclo.

3 Thoughts on"Come riprodurre un video, in un VideoView, continuamente o loop”
Come fare affinché questa applicazione ottenere tutti i video in una cartella e riprodurre tutti i ?
Ciao cyberlacs, provare a utilizzare EventHandler videoplayer. completamento + = (mittente, e) => { }, interrompere il video e assegnandogli una nuova rotta e riavviare nuovamente il video.
Il mio amico ha funzionato qui grazie molto anche solo usato così:
VideoPlayer. completamento + = (mittente, e) => { … } e ha funzionato 🙂
Sto sviluppando il modulo di domanda di Xamarin
Mille Grazie.