Comment lire une vidéo en utilisant opengl es dans Android ?
Réponses
Trop de publicités?Votre question est un peu vague. Si tout ce que vous voulez faire est de lire une vidéo dans une surface GL, c'est possible. Voir le Media Player
exemple de code à laquelle Dave faisait référence dans son échantillon. Tout ce que vous avez à faire ici, c'est de remplacer les SurfaceView
avec un GLSurfaceView
dans le fichier MediaPlayerDemo_Video.java ainsi que dans le fichier de mise en page correspondant (mediaplayer_2.xml).
Vous devez également créer une classe de rendu personnalisée (une classe qui implémente la fonction GLSurfaceView.Renderer
) et réglez-le sur votre GLSurfaceView
.
Après avoir fait tout cela, vous aurez votre vidéo sur une surface GL, mais ce sera tout.
Si, en revanche, vous souhaitez manipuler la vidéo, c'est-à-dire dessiner les images vidéo dans une texture GL et y ajouter des effets ou la transformer (par exemple, mise à l'échelle, rotation, etc.), je crains que ce ne soit pas possible. La raison en est que vous n'avez pas accès aux images vidéo brutes dans votre application.
Je ne sais pas pourquoi vous parlez d'OpenGL ici, mais la façon la plus simple de lire une vidéo est probablement d'utiliser la fonction VideoView
classe . Vous voudrez bien jeter un coup d'œil à l' MediaPlayer
classe aussi.
Vous pourriez trouver le Audio et vidéo page dans la documentation pour les développeurs Android utile.
Il y a VideoView
exemple de code y MediaPlayer
exemple de code dans les démos de l'API fournies avec le SDK Android.