Probléme media

Probléme media - Java - Programmation

Marsh Posté le 01-05-2004 à 00:15:33    

salut,  
 
Est ce que quelq'un peut m'aider SVP !!
 
comment on peut recupérer la durée d'un fichier audio ou video ?  
 
y a pas une méthode dans javax.media qui permet de recupérer la durée d'un fichier media ?
 
sinon est ce qu'il existe une methode qui permet de recupérer l'entete d'un fichier media et puis d'extraire le champ correspondant a la duree ?
 
merci pour toute aide !!

Reply

Marsh Posté le 01-05-2004 à 00:15:33   

Reply

Marsh Posté le 01-05-2004 à 13:03:01    

si mes souvenir sont bon , faut mettre un listener sur ton fichier et qd il fini , un evenement est généré.
 
edit: faut mettre un ControllerListener:
 
 

Code :
  1. public void controllerUpdate( ControllerEvent ce) {
  2. if( ce instanceof DurationUpdateEvent) {
  3.     Time duration= ((DurationUpdateEvent) ce).getDuration();
  4.     System.out.println( "duration: " + duration.getSeconds());
  5. } else if(  ce instanceof EndOfMediaEvent) {
  6.     System.out.println( "END OF MEDIA " );
  7. }
  8.     }


Message édité par veryfree le 01-05-2004 à 13:04:28
Reply

Marsh Posté le 01-05-2004 à 14:20:25    

je voulais vous remercier de votre aide tout d'habor !!
 
mais avec cette méthode, pour connaitre la durée, je suis obligé d'attendre la fin de la video et donc c un peu long, car si une video dure 2h par exemple, juste pour avoir la duree je suis obligé d'attendre 2h...
y a pas une autre méthode pour avoir la durée directement ?
 
et merci encore pour votre aide !!

Reply

Marsh Posté le 01-05-2004 à 14:35:50    

good2 a écrit :

je voulais vous remercier de votre aide tout d'habor !!
 
mais avec cette méthode, pour connaitre la durée, je suis obligé d'attendre la fin de la video et donc c un peu long, car si une video dure 2h par exemple, juste pour avoir la duree je suis obligé d'attendre 2h...
y a pas une autre méthode pour avoir la durée directement ?
 
et merci encore pour votre aide !!


 
;)
 
qd je dit:

Citation :

et qd il fini ...

c'etait de memoire et ca se rapporte a:
else if(  ce instanceof EndOfMediaEvent) {  
 
mais je pense que  
 
if( ce instanceof DurationUpdateEvent) {  
est appelé avant.
 
a essayé donc

Reply

Marsh Posté le 03-05-2004 à 01:00:18    

Pour la méthode que vous m'avez conseiller, effecrivement elle marche trés bien, elle donne bien la durée exacte...
Mais j'ai un petit probléme quand j'essaye de lancer un fichier avi, mon programme me génére des erreurs et je comprends pas, car y a un beug juste pour les fichiers avi, sinon le reste (mp3, mpg, mpeg, ...) ca marche tres bien ...
donc soit il faut ajouter du code dans le cas des fichiers avi ou sinon c le java media qui prends pas en compte ce type de video.
 
voila l'erreur qui me génére qd j'essaye de lancer un .avi :
-----------------------------------------------------------
Unable to handle format: DX50, 320x240, FrameRate=29.9, Length=506880 0 extra bytes
Unable to handle format: mpeglayer3, 44100.0 Hz, 0-bit, Stereo, Unsigned, 12000.0 frame rate, FrameSize=8 bits
Failed to realize: com.sun.media.PlaybackEngine@1ed5459
Error: Unable to realize com.sun.media.PlaybackEngine@1ed5459
-----------------------------------------------------------
et dans ce cas la (.avi), le programme génére des erreurs, s'arrete et ne me donne meme pas la durée.
 
voila le code que j'ai utilisé, qui me donne la durée sauf dans le cas des fichiers avi:
-----------------------------------------------------------
//ici je crée un player et je met un ControllerListener
String location = "file:E://Film New//Big Fish.avi";
try
{    
 // creation du player
 Player player = Manager.createPlayer( new MediaLocator (location));
 player.addControllerListener(this);
 player.realize();
}
catch (Exception e)
{
 System.out.println("Error creating player" );
 return;
}
 
//et la c la fonction que tu m'as passé
public void controllerUpdate( ControllerEvent ce)  
{  
  if(ce instanceof DurationUpdateEvent)  
  {  
   Time duration=((DurationUpdateEvent) ce).getDuration();  
   System.out.println("duration:"+ duration.getSeconds());  
  }  
  else if(ce instanceof EndOfMediaEvent)  
  {  
   System.out.println( "END OF MEDIA " );  
  }  
}
----------------------------------------------------------
 
Alors t'on dis quoi, ca viens du code ou c un beug dans java media ?
y a pas une silution qui permet d'eviter ce probléme ??
 
en tout cas merci pour votre aide, grace a vous j'ai beaucoup avancé, avant je suis resté bloqué plus d'une semaine...
merci !!

Reply

Marsh Posté le 03-05-2004 à 01:06:21    

"Unable to handle format" c'est pas clair?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 03-05-2004 à 20:56:32    

J'arrives toujours pas a ouvrir les video de type avi, est ce que quelqu'un a déjà reussi a ouvrir un fichier avi ?
est ce que ce type de fichier est reconnu par la jmf ??

Reply

Marsh Posté le 03-05-2004 à 21:16:36    

Je sais pas vraiment si le beug vient de java media ou bien ca vient de mon probléme, c pour ca que j'aimerais bien savoir si quelqu'un a déjà reussi a lire un fichier avi ??
car pour le reste des fichiers media, j'arrive a lire et a visualiser les fichiers, sauf pour le cas de avi...
merci de votre aide !!

Reply

Marsh Posté le 03-05-2004 à 21:39:23    

install les codecs qu il faut

Reply

Marsh Posté le 03-05-2004 à 23:21:33    

oui je crois que c'est un probléme de codecs, car effecticemetn qd j'essaye de lancer un fichier avi avec la jmf, im me dit qu'im me faut le codec xvid.
mais le probléme c'est qu'il est installer sur mon pc, la preuve c'est que j'arrive a le lire avec windows media.
donc il faut trouver une solution pour que la jmf prends compte des autres codecs installer sur le PC, et ca je sais pas comment faire ?
vous n'avez pas une idée, comment je pourais ajouter d'autres codecs aux codecs de la jmf ??

Reply

Marsh Posté le 03-05-2004 à 23:21:33   

Reply

Marsh Posté le 03-05-2004 à 23:35:24    

je crois que je suis fou, il me semble avoir repondu a ce topic ce matin et mon post a été effacé :heink:
 
 
 
:pt1cable:

Reply

Marsh Posté le 03-05-2004 à 23:35:56    

t'as répondu y'a 2 heures: http://forum.hardware.fr/forum2.ph [...] =0#t714691


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 03-05-2004 à 23:36:06    

good2 a écrit :

oui je crois que c'est un probléme de codecs, car effecticemetn qd j'essaye de lancer un fichier avi avec la jmf, im me dit qu'im me faut le codec xvid.
mais le probléme c'est qu'il est installer sur mon pc, la preuve c'est que j'arrive a le lire avec windows media.
donc il faut trouver une solution pour que la jmf prends compte des autres codecs installer sur le PC, et ca je sais pas comment faire ?
vous n'avez pas une idée, comment je pourais ajouter d'autres codecs aux codecs de la jmf ??


 
je peux pas t'aider plus dsl :/

Reply

Marsh Posté le 03-05-2004 à 23:36:37    


 
oui je sais mais j'avait donné cette meme reponse bien avant et ca a disparu j en suis sur  :sweat:

Reply

Marsh Posté le 03-05-2004 à 23:37:13    

je suis pas fou  [:snoozy]  
 
 

Reply

Marsh Posté le 03-05-2004 à 23:40:30    

oui mais ça ça date de cette nuit, pas de ce matin [:joce]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 03-05-2004 à 23:45:16    

the real moins moins a écrit :

oui mais ça ça date de cette nuit, pas de ce matin [:joce]


 
j'ai du y repondre hier alors  [:veryfree]  
 
 
 
 
 
ce matin je dormait de toute facon  [:ddr555]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed