Afficher flux video...

walloudtn Messages postés 47 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 22 août 2006 - 3 avril 2006 à 09:44
cs_nomad56 Messages postés 54 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 avril 2006 - 8 avril 2006 à 10:21
Bonjour!

En fait,je veux afficher un flux video provenant d'une camera Axis dans un jPanel.J'ai déjà arrivé à le faire ,mais le problème que le flux video ne s'affiche pas tout dans le jPanel, c'est à dire qu'une seule partie du flux s'affiche.Lorsque j'augmente la taille du jPanel selon la résolution de la caméra j'obtient tout le flux dans le jPanel.Mais je veux réduire la taille du jPanel dans une taille précise et je veux que tout le flux s'affiche dedans.Comment je peux le faire svp?!C'est très urgent!merci d'avance

6 réponses

cs_RedDog Messages postés 50 Date d'inscription lundi 7 avril 2003 Statut Membre Dernière intervention 21 août 2013
3 avril 2006 à 19:02
Bonjour,

1 il te faut un objet composant simple comme par exemple
private Component viewVideo = null;

2 il te faut mettre utiliser ce composant comme container video
3 il te faut mettre ce composant dans un élément: JFrame, JPanel...
4 il te faut redimensionné ce dernier élément (.pack();) ou faire un gestionnaire de redim.

J'avais trouvé la source "javafr_source_24523" assez interressante pour ce cas de figure (afficher de la video), je t'invite à faire une recherche sur ce site pour trouver cette source ou une autre similaire. Par exemple, avec le mot clé "video player".

En espère que çà t'aide!
0
cs_nomad56 Messages postés 54 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 avril 2006 1
3 avril 2006 à 19:12
je te conseille vivement de redimentionner le JPanel en fonction de la taille du flux plutot que l'inverse .... pke je débute la dedans aussi, et pour faire ce que tu veux ca me parait cho ... donc pour modif la taille du JPanel en fonction de la taille du flux essaie ca ... ( g pris de mon code mais faut surement adapter)

player .realize();
...
public void controllerUpdate(ControllerEvent ce)
{
if(ce instanceof RealizeCompleteEvent)
{
panelVideo.removeAll();
panelVideo.add(player.getVisualComponent(), BorderLayout.CENTER);
panelVideo.setVisible(true);
// this.pack();
this.updateUI(); // replace le this.pack des JFrame (ca fait un
// refresh en fait)
}
}
c surtout le this.updateUI(); qui te manquait je crois mais attention, ma classe est dérivée de JPanel la... si tu es dans une dérivation de JFrame, remplace par this.pack();

mais si tu veux vraiment garder la taille de ton JPanel, essaie un truc du genre:
Dimension dim = monPanel.getDimension; //(je connais pas les noms exacts)
puis tu colle ton flux video même si il est trop grand et tu test un this.pack/this.updateUI(); ca devrai redimentionner (=refresh)
si ca marche toujours pas, rajoute
monPanel.setDimension(dim)
puis this.pack/this.updateUI()

si après tout ca, ca gère pas comme tu veux, je peux te filer tout mon code ( j'ai fait un petit acquisiteur video de webcam, ca devrait marcher avec tous type de camera) et la voir comment j'ai fait car moi j'ai été obliger de modifier directement la taille du flux video en entrée .. et là .. c cho ...
0
cs_nomad56 Messages postés 54 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 avril 2006 1
3 avril 2006 à 19:13
lol, écoute redDog avant de te lancer dans mes délires walloudtn
0
cs_RedDog Messages postés 50 Date d'inscription lundi 7 avril 2003 Statut Membre Dernière intervention 21 août 2013
3 avril 2006 à 19:28
J'ajoute quelque chose, après un pack ou updateUI, il te sera facile de récupérer les valeurs hauteur largeur de ta video (par les propriétés du panel) et donc de pouvoir la redimensionner comme voulu en redimensionnant ce panel.

Et seulement après {composantVideo}.setVisible(true);

Voilà!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
walloudtn Messages postés 47 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 22 août 2006
6 avril 2006 à 10:26
Salut RedDog et nomad56 !
Voilà je vous remerci pour votre aide!Ca m'a aidé à resoudre mon problème!merci encore!
0
cs_nomad56 Messages postés 54 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 13 avril 2006 1
8 avril 2006 à 10:21
de rien walloudtn.
0
Rejoignez-nous