Probléme media

good2 Messages postés 3 Date d'inscription samedi 1 mai 2004 Statut Membre Dernière intervention 5 mai 2004 - 1 mai 2004 à 00:34
cs_tds Messages postés 351 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 9 décembre 2004 - 3 mai 2004 à 11:40
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 !!

2 réponses

cs_tds Messages postés 351 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 9 décembre 2004
3 mai 2004 à 11:31
30 secondes, les trucs que l'on a du mal à trouver je trouve... Je reviens... Le temps de retrouver ce qu'il faut dans ma tête...
:p
B@ron {EU.BELGIUM}
0
cs_tds Messages postés 351 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 9 décembre 2004
3 mai 2004 à 11:40
try{
AudioInputStream stream = AudioSystem.getAudioInputStream(
getClass.getResource(yourSong));
AudioFormat format = stream.getFormat();
if ( (format.getEncoding() == AudioFormat.Encoding.ULAW) ||
(format.getEncoding() == AudioFormat.Encoding.ALAW) ){
AudioFormat newFormat =
new AudioFormat (AudioFormat.Encoding.PCM_SIGNED,
format.getSampleRate(),
format.getSampleSizeInBits()*2,
format.getChannels(),
format.getFrameSize()*2,
format.getFrameRate(), true);
stream = AudioSystem.getAudioInputStream(newFormat,stream);
System.out.println("Converti en "+ newFormat);
format = newFormat;
}

DataLine.Info info = new DataLine.Info(Clip.class, format);
if (!AudioSystem.isLineSupported(info)) {
System.out.println("incompatible");
System.exit(2);
}
Clip clip = (Clip) AudioSystem.getLine(info);
clip.addLineListener(this);
clip.open();
double duration =
clip.getBufferSize() /
(format.getFrameSize() * format.getFrameRate());
System.out.println("ENFIN SIZE = "+df.foramt(duration)+"secs");

NB: df = eventuel decimalFormat...
pffff''', voilou :'p

B@ron {EU.BELGIUM}
0
Rejoignez-nous