Redimensionner la vidéo pour s'adapter à la VideoView
Je suis le positionnement d'un VideoView avec AbsoluteLayout (j'ai besoin de l'afficher sur plusieurs endroits dans l'écran à des positions spécifiques).
public void showVideo(RectF bounds, final String videoUrl) {
AbsoluteLayout.LayoutParams params = (AbsoluteLayout.LayoutParams) video.getLayoutParams();
params.width = (int) bounds.width();
params.height = (int) bounds.height();
params.x = (int) bounds.left;
params.y = (int) bounds.top;
video.requestLayout();
video.setVisibility(View.VISIBLE);
video.setFocusable(true);
video.setFocusableInTouchMode(true);
video.requestFocus();
File file = new File(videoUrl);
video.setVideoPath(file.getAbsolutePath());
video.start();
}
Mais la Vidéo ins pas redimensionné pour les limites que j'ai précisé.
Des conseils?
Une autre question connexe est de savoir comment rendre l'MediaController montrent que plus de la VideoView?
Vous avez besoin de redimensionner la vidéo n'est pas de la vue. Essayer de trouver une vidéo de l'éditeur de la bibliothèque pour que
OriginalL'auteur Marcos Vasconcelos | 2011-08-11
Vous devez vous connecter pour publier un commentaire.
ce qui est très proche de ce que vous voulez. si vous êtes prêt à la sous-classe le videoview et
override onMeasure
voici la solution. vous devezhttps://stackoverflow.com/questions/4434027/android-videoview-orientation-change-with-buffered-video/4452597#4452597
comme pour montrer MediaController sur VidowView
Déclarer
OnCreate
Activité
Médias des événements de Contrôleur
un exemple de fichier de mise en page
ne pas le redimensionnement de la videoview redimensionner la vidéo aswell? le lien que je vous ai montré de changer la taille de la vidéo dans le remplacé onMeasure. Ce que je suis absent.
Eh bien, en fait, ce n'est redimensionnée, mais j'ai été trompé par le XML qui vient et de faire une zone pour l'Afficher sur un ratio d'aspect que la Vidéo ne prend pas en charge. Aussi, j'ai déjà essayé d'ajouter le MediaController de cette manière, mais c'est indiqué sur l'Activité.
OriginalL'auteur Samuel
Vous pouvez uniquement modifier le fichier de mise en page:
cela a fonctionné avec moi, je vous remercie.
Cela a fonctionné pour moi. J'ai besoin d'ajouter android:layout_gravity="center"
OriginalL'auteur boomz
Après la modification de votre
LayoutParams
je pense que vous aurez besoin de faire appelsetLayoutParams
de sorte que la mise en page peut être mis à jour avec les nouveaux paramètres. Après l'appel àsetLayoutParams
vous pourriez avoir à appeler la méthodereqestLayout
d'invalider la mise en page et de déclencher un renouvellement de la vue.Vous aurez besoin de créer une nouvelle instance de la
MediaController
et d'utiliser la méthodesetMediaController
sur leVideoView
objet.OriginalL'auteur bluefalcon