Trouver la longueur d'un fichier mp3
J'ai donc le code:
import glob,os
import random
path = 'C:\\Music\\'
aw=[]
for infile in glob.glob( os.path.join(path,'*.mp3') ):
libr = infile.split('Downloaded',1)
aw.append(infile)
aww = -1
while 1:
aww += 1
print len(aw),aww
random.shuffle(aw)
awww = aw[aww]
os.startfile(awww)
mais il n'est de passer par toutes les chansons sans s'arrêter. J'ai pensé que si je pouvais trouver la longueur de la chanson en cours de lecture, je pouvais utiliser le "temps" module de continuer après la chanson est fait avec l' (sommeil) attribut. Cependant, je ne pouvais pas trouver comment faire pour obtenir la longueur de la chanson sur windows. Quelqu'un sait-il une solution à mon probleme?
Votre question titre prête à confusion. C'est peut-être partie d'un shuffle lecteur de musique, mais que votre problème est de trouver la longueur d'un morceau mp3. Aussi, vos noms de variable (
aw
, aww
, awww
) pourrait être le plus descriptif 😉OriginalL'auteur P'sao | 2011-05-17
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser mutagène pour obtenir la longueur de la chanson (voir la tutoriel):
Il le devrait. Extraire l'archive,
cd
dans le répertoire et exécutezpython setup.py install
à partir de la ligne de commande.Cela fonctionne sur windows7/py3
OriginalL'auteur Gregg
Vous pouvez utiliser des bibliothèques FFMPEG:
et la sortie sera:
OriginalL'auteur Gabriel Furstenheim
Vous pouvez également obtenir cette aide eyed3, si c'est votre saveur en faisant:
Notez cependant que cette utilise l'échantillonnage pour déterminer la longueur de la piste. Par conséquent, si on utilise un débit binaire variable, les échantillons peuvent ne pas être représentatifs de l'ensemble, et l'estimation peuvent être hors d'un bon niveau (je l'ai vu de ces estimations par plus de 30% sur la cour des enregistrements).
Je ne suis pas sûr que c'est bien pire que d'autres options, mais c'est quelque chose à retenir si vous avez des débits variables.
OriginalL'auteur mlissner
Peut-être faire la lecture aussi à l'intérieur de Python, c'est à dire ne pas utiliser
os.startfile
, utilisez un certain bibliothèque Python pour lire le fichier.J'ai récemment écrit une telle bibliothèque/module, le
musicplayer
module (sur PyPI). Ici est une simple démo joueur de laquelle vous pouvez facilement étendre votre shuffle code.Il suffit de ne
easy_install musicplayer
. Alors, voici un exemple de code pour obtenir la longueur:Fixe.
OriginalL'auteur Albert