8
votes

Contrôler la vitesse de lecture de la vidéo dans Android

J'utilise une vidéosView pour lire un fichier vidéo conservé en RES / RAW. Je ne pouvais pas trouver un moyen de contrôler la vitesse de lecture de la vidéo. Fondamentalement, je souhaite réduire et augmenter la lecture tout en déplaçant une barre de défilement. Y a-t-il un travail autour de la mise en œuvre de cela?


1 commentaires

Bonjour, je veux mettre en œuvre comme vous dans la fonctionnalité de la vue vidéo, je n'ai eu aucune idée, si vous avez une solution pour cela, envoyez-moi une solution, merci.


4 Réponses :


2
votes

Non, vous ne pouvez pas modifier le taux de lecture en utilisant simplement videoView . VideoView et MediaPlayer ne fournit que des fonctions de support limitée.

Vous devez utiliser une bibliothèque tierce partie, par exemple, PVPlayer et mettre en œuvre que vous-même.

C'est aussi pourquoi les bons joueurs de médias sur Android sont si précieux :)


0 commentaires

-3
votes

DICPLayer fonctionne parfaitement sur mon transformateur asus. Il a une affichage à l'écran de contrôle de vitesse.

Je ne suis pas sûr de ce que res / cru est cependant.


1 commentaires

La question portait sur la mise en œuvre de la vitesse de contrôle de la vitesse dans Android et non sur les applications existantes. Parmi les points négatifs mérités



12
votes

Vous pouvez l'utiliser, mais cela fonctionne sur API 23 et au-dessus

 mVideo.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {

            //works only from api 23
            PlaybackParams myPlayBackParams = null;
            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
                myPlayBackParams = new PlaybackParams();
                myPlayBackParams.setSpeed(0.8f); //you can set speed here
                mp.setPlaybackParams(myPlayBackParams);
            }

        }
    });


2 commentaires

bref codage, excellent


peut garantir ces œuvres que d'utiliser mp.setplaybackParams (mp.getplaybackParams (). SetSpeed ​​(vitesse));



0
votes

Je veux dire que La solution MK Kamal a un effet secondaire inattendu: appeler setplaybackParams Dans OnpreparedListener Force VideoView Pour répéter la dernière vidéo lue lorsque l'application a été renvoyée à partir de l'arrière-plan. Je ne sais pas est-ce un bug ou une fonctionnalité, mais j'ai trouvé un moyen d'éviter un tel comportement: xxx

media_info_video_rending_start sera envoyé uniquement si la Palyer était Déjà a commencé.

et je veux souligner que getplaybackparams est annoté comme @nonnull , il n'est donc pas nécessaire de créer de nouveaux PlaybackParams objet.


0 commentaires