Alors voilà comment je procède finalement : Je trouve les minutes et les secondes séparément. Comme ça, je pourrai les envoyer plus facilement sous la forme HH:MM:SS dans ma base mysql.
Pour les MP3, mp3info -p %m%s ne va que si les fichiers son taggés, ce qui n'est pas mon cas. J'utilise donc autre chose :
Code :
- MM=`mp3info -x $file0 | grep Length | cut -d ":" -f2`
- SS=`mp3info -x $file0 | grep Length | cut -d ":" -f3`
|
Pour les .ogg, la solution inspirée de Xavier_OM va bien :
Code :
- MM=`ogginfo $file0 | grep Playback | cut -d " " -f3 | cut -d "." -f1`
|
Mon problème maintenant, c'est que je n'arrive pas à écrire un if, elif ! Voilà, ce que j'ai écrit et ça marche pas :
Code :
- # Récupération de la durée du fichier.
- # S'il s'agit d'un MP3
- if [ "$extend" = "mp3" ] ; then
- MM=`mp3info -x $file0 | grep Length | cut -d ":" -f2`
- SS=`mp3info -x $file0 | grep Length | cut -d ":" -f3`
- elif [ "$extend" = "ogg" ] ; then
- MM=`ogginfo $file0 | grep Playback | cut -d " " -f3 | cut -d "." -f1`
- `
- else
- zenity --info --title="Erreur" --text="Le fichier n'est pas conforme." ; exit
- fi
- zenity --info --title "Résultat" --text "Durée du fichier : $MM m $SS s."
|
Rien ne se passe ! Je suis preneur de tout conseil ! même sur la manière de présenter le code.
Message édité par hdiamant le 22-01-2007 à 20:56:47