
Ένα από τα μαθήματα που προσφέρονται από το SDK του Android για αναπαραγωγή βίντεο τις εφαρμογές που αναπτύσσουμε είναι η τάξη ΧΑΛΚΙΑΔΑΚΗΣ ΓΕΩΡΓΙΟΣ. Αυτή η κλάση επιτρέπουμε, μορφή απλή, το παράθυρο αναπαραγωγής βίντεο από η κατανομή του διαδρομή και η έκκληση για την Ξεκινήστε τη μέθοδο λίστα αναπαραγωγής. Δηλαδή, με σχεδόν cuatro líneas του κώδικα, είμαστε σε θέση να δείτε το βίντεο που θέλετε σε αυτό το αντικείμενο.
Ως παράδειγμα, Ας υποθέσουμε ότι έχουμε ένα αντικείμενο σε μας διεπαφή της κλάσης ΧΑΛΚΙΑΔΑΚΗΣ ΓΕΩΡΓΙΟΣ, με όνομα videoPlayerView, και μέσα θα έχουμε τα εξής Κωδικός:
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(); |
Ας υποθέσουμε επίσης ότι έχουμε ένα βίντεο στο όνομα του υποφακέλου ένα ‘RAW‘, en la carpeta de recursos ‘Πόροι‘.
Με αυτό, το επιλεγμένο βίντεο είναι θα παίξει στο αντικείμενο μόνο μια φορά. Τώρα καλά, και αν θέλετε να κάνετε το βίντεο παίζουν βρόχο κατά τρόπο αόριστο?
Πώς να παίξετε, στη λειτουργία βρόχου, ένα βίντεο σε ένα Xamarin Android VideoView
Δεν χρειάζεται οποιεσδήποτε έμμεσες μεθόδους που βρόχο αναπαραγωγής ασφαλής λειτουργία, Θα πρέπει να κάνουμε χρήση του αντικειμένου MediaPlayer Αυτή η άποψη έχει που συνδέονται. La clase ΧΑΛΚΙΑΔΑΚΗΣ ΓΕΩΡΓΙΟΣ είναι ως κατηγορία περιτύλιγμα ή περιτύλιγμα κλάση MediaPlayer, la cual hace πιο εύκολο η εφαρμογή μας εφαρμογή βίντεο.
Ως εκ τούτου, Πρόκειται να έχουν πρόσβαση μέσω της εκδήλωσης OnPrepared ότι μας δείχνει ότι το μέσο είναι έτοιμο για την αναπαραγωγή και, για να γίνει αυτό, Θα το κάνουμε μέσα από ένα Ακροατή, αργότερα που θα αντιστοιχίσετε σε μας ΧΑΛΚΙΑΔΑΚΗΣ ΓΕΩΡΓΙΟΣ.
Για τον ακροατή, Θα δημιουργήσουμε ένα κλάση Τι εφαρμογή η διασύνδεση IOnPreparedListener και θα γράφουμε την μέθοδο OnPrepared, όπως φαίνεται στον ακόλουθο κώδικα:
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; } } |
Με αυτό, Μπορούμε να εκχωρήσουμε την αξία Αλήθεια το χαρακτηριστικό Επανάληψη του αντικειμένου MediaPlayer που συνδέονται.
Μόλις έχουμε την κλάση λίστα, Εμείς απλά πρέπει να αντιστοιχίσετε ένα αντικείμενο αυτής της κλάσης μας κλάση αντικειμένου ΧΑΛΚΙΑΔΑΚΗΣ ΓΕΩΡΓΙΟΣ. Για να γίνει αυτό, Εμείς απλά να χρησιμοποιήσετε τη μέθοδο SetOnPreparedListener του ίδιου, περνώντας, ως η παράμετρος, αντικείμενο της νέας τάξης VideoLoop που έχουν δημιουργηθεί.
Με αυτόν τον τρόπο, τον αρχικό κώδικα θα είναι ως εξής:
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(); |
Αν προχωρήσουμε μεταγλώττιση και Εκτελέστε μας εφαρμογή, Θα δούμε τώρα πώς το βίντεο είναι θεατρικά έργα de forma continuada a modo de βρόχου.

3 σκέψεις για"Πώς να παίξετε ένα βίντεο, σε ένα VideoView, συνεχώς ή βρόχου”
Como fazer para que esta aplicação pegue todos os videos de uma pasta e reproduza todos ?
Olá cyberlacs, tente usar a EventHandler videoplayer.Completion += (sender, ε) => { }, interrompendo o vídeo e atribuindo-lhe uma nova rota e reiniciando o vídeo novamente.
Meu amigo funcionou aqui muito obrigado mesmo só que usei assim:
videoplayer.Completion += (sender, ε) => { … } e funcionou 🙂
Estou desenvolvendo a aplicação em Xamarin Form
Muito obrigado.