FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
lecteur MP3 aléatoire Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
lecteur MP3 aléatoire Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
lecteur MP3 aléatoire Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
lecteur MP3 aléatoire Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
lecteur MP3 aléatoire Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
lecteur MP3 aléatoire Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
lecteur MP3 aléatoire Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
lecteur MP3 aléatoire Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
lecteur MP3 aléatoire Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
lecteur MP3 aléatoire Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
lecteur MP3 aléatoire Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
lecteur MP3 aléatoire Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
lecteur MP3 aléatoire Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
lecteur MP3 aléatoire Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
lecteur MP3 aléatoire Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-38%
Le deal à ne pas rater :
Ecran PC gaming 23,8″ – ACER KG241Y P3bip à 99,99€
99.99 € 159.99 €
Voir le deal

 

 lecteur MP3 aléatoire

Aller en bas 
4 participants
AuteurMessage
Francis-mr




Nombre de messages : 186
Date d'inscription : 26/11/2012

lecteur MP3 aléatoire Empty
MessageSujet: lecteur MP3 aléatoire   lecteur MP3 aléatoire EmptyJeu 9 Avr 2015 - 8:55

Bonjour,

Voulant faire un lecteur de fichiers MP3 aléatoire, je me suis heurté au problème de connaitre la durée du fichier MP3, comme d’autre avant moi.
En cherchant une solution j’ai trouvé sur internet un fichier Excel qui permet de collecter les informations de fichier. Je l’ai donc adapté à mes besoins, pour créer un fichier texte listant les fichiers avec leur durée.
J’ai mis ce fichier « ListeurMP3.xls » dans mon espace MyDrive.

Ci-dessous, le code de mon lecteur à mettre dans le répertoire de vos fichiers MP3 avec la liste créée.
Code:
dim F%, c%, s%     :Label JOU

width 0,500  :height 0,50  :left 0,screen_x-520  :top 0,20  :border_small 0
Caption 0,"Lecture aléatoire de fichier MP3"  :font_bold 0  :on_click 0,JOU
dlist 1   :sound 2   :timer 3
if file_exists("_ListeMP3.txt")=0 then message "Manque Liste MP3" :terminate
file_load 1,"_ListeMP3.txt"
c%=count(1)
gosub JOU
end

JOU:
  cls   :F%=int(rnd(c%))
  if odd(F%)=0 then F%=F%-1
  if file_exists(item_read$(1,F%))=0 then print "Manque fichier: "+item_read$(1,F%) :end
  print left$(item_read$(1,F%),len(item_read$(1,F%))-4)
  print_locate 450,0  :print item_read$(1,F%+1)
  file_load 2,item_read$(1,F%)  :play 2
  s%=(val(left$(item_read$(1,F%+1),2))*60)+val(right$(item_read$(1,F%+1),2))
  timer_interval 3,s%*1000
  on_timer 3,JOU
  return

PS : Si quelqu’un veut transcrire le code du ListeurMP3 en Panoramic, je suis preneur.
A+
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

lecteur MP3 aléatoire Empty
MessageSujet: re   lecteur MP3 aléatoire EmptyJeu 9 Avr 2015 - 14:17

Tout un travail avait été fait il y a quelques temps sur les fichiers MP3.
J' avais posté deux programmes :

MP3 Cover Extractor
MP3 Cleaner

Une partie de la communauté avait participé aux recherches et donc la création
de ces deux programmes. 
Peut-être peux tu t' inspirer de nos discussions pour ton programme ...

les sujets sont là :
https://panoramic.1fr1.net/t3833-mp3-cover-extractor
https://panoramic.1fr1.net/t3825-mp3-cleaner
Revenir en haut Aller en bas
Francis-mr




Nombre de messages : 186
Date d'inscription : 26/11/2012

lecteur MP3 aléatoire Empty
MessageSujet: Re: lecteur MP3 aléatoire   lecteur MP3 aléatoire EmptyJeu 9 Avr 2015 - 17:05

@ygeronimi
Dans aucun des deux sujets tu n'extrais la durée du MP3 si ne m'abuse ?
De plus, le cleaner plante chez moi.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

lecteur MP3 aléatoire Empty
MessageSujet: re   lecteur MP3 aléatoire EmptyJeu 9 Avr 2015 - 19:16

Je ne te dis pas de prendre les codes mais
les discussions qui ont eu lieu sur ses sujets peuvent t' apporter des infos
sur ces fameux fichiers.
Il y en a eu d' autres mais je ne les retrouve pas... Rolling Eyes
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

lecteur MP3 aléatoire Empty
MessageSujet: Re: lecteur MP3 aléatoire   lecteur MP3 aléatoire EmptyJeu 9 Avr 2015 - 21:26

Le format mp3 n'est pas quelque chose de simple, avec toutes ses variantes, comme on avait pu le voir, n'est-ce pas ygeronimi, et ça me paraît bien compliqué d'extraire la durée, qui n'est inscrite nulle part dans le fichier, mais qu'il faut calculer à partir des autres données.

Je préconiserais plutôt d'utiliser ffmpeg, qui est le couteau suisse audio/vidéo, et qui fait les calculs lui-même. Et qui doit exister sur la plupart des pc puisqu'il est livré avec la plupart des programmes qui font appel à de l'audio ou vidéo (conversions, etc.).  Chez moi je dois l'avoir en 3 ou 4 exemplaires, au moins.
Ou sinon on trouve facilement à le télécharger.
Et ensuite il suffit de faire:
Code:
EXECUTE_WAIT ...\ffmpeg.exe -i Monfichier.mp3 2>&1 | grep Duration | clip
pour avoir le résultat dans le presse-papier (récup: duree$ = CLIPBOARD_STRING_PASTE$) sous la forme suivante:
Citation :
 Duration: 00:09:21.19, start: 0.025057, bitrate: 128 kb/s
- le 2>&1 c'est pour renvoyer la sortie sur la sortie standard, au lieu de la sortie erreurs qui est implicite.
- le grep Duration c'est pour ne récupérer que la donnée durée (Duration) parmi toutes les autres infos renvoyées.

Si on veut vraiment se plonger dans le format mp3: http://mgc99.free.fr/InfoMP3.html
Bon courage !  Very Happy
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

lecteur MP3 aléatoire Empty
MessageSujet: re   lecteur MP3 aléatoire EmptyJeu 9 Avr 2015 - 23:41

Il y a bien un Tag pour la durée mais il est variable 
il peut se faire appeler "TIME" ou "TLE"
Cela fait deux passes de lecture pour le trouver.
Il ne vaut mieux pas que le fichier MP3 soit un concert complet de plus d' une heure... Laughing
Quoi que, tu peux limiter la recherche de l' octet 0 aux octets marqués 255,251.

Bon, j' arrête le chinois... Laughing
Revenir en haut Aller en bas
Francis-mr




Nombre de messages : 186
Date d'inscription : 26/11/2012

lecteur MP3 aléatoire Empty
MessageSujet: Re: lecteur MP3 aléatoire   lecteur MP3 aléatoire EmptyVen 10 Avr 2015 - 9:33

Bonjour et merci pour vos réponses.

Je me suis rendu compte que l’extraction de la durée d’un fichier MP3 n’est effectivement pas simple en regardant les discussions
avec la commande PLAY et en cherchant sur le net ou j’étais tombé sur le lien donné par JL35.

C’est pour cela qu’avec mon petit niveau j’ai trouvé plus facile d’adapter un fichier Excel existant (mp3filelister.xls).
Celui-ci  exploite "shell32.dll" et il est possible d’extraire toutes les infos en donnant leurs numéros.
Exemple :  n°14 l’album, n°16 le genre, n°20 l’artiste, n°21 le titre, n°27 la durée, etc…

Il est peut-être faisable d’arriver au même résultat en utilisant "shell32.dll" avec Panoramic, mais cela n’est pas dans mes capacités.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

lecteur MP3 aléatoire Empty
MessageSujet: re   lecteur MP3 aléatoire EmptyVen 10 Avr 2015 - 12:43

Pourrait tu mettre ce fameux fichier xls sur un webdav ou en téléchargement quelque part ?
Pour savoir si c' est faisable, il faudrait d' abord voir le fichier en question et l' appel à cette dll.
Laughing
Revenir en haut Aller en bas
Francis-mr




Nombre de messages : 186
Date d'inscription : 26/11/2012

lecteur MP3 aléatoire Empty
MessageSujet: Re: lecteur MP3 aléatoire   lecteur MP3 aléatoire EmptyVen 10 Avr 2015 - 13:25

J'ai mis sur mon webdav dans le répertoire "LecteurMP3" le fichier "mp3filelister.xls" de John Walkenbach et ma version simplifiée "ListeurMP3.xls"
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

lecteur MP3 aléatoire Empty
MessageSujet: Re: lecteur MP3 aléatoire   lecteur MP3 aléatoire EmptyVen 10 Avr 2015 - 14:56

Tiens Francis-mr, j'ai un petit cadeau pour toi: durée d'une musique mp3 sans ressources externes, sous forme de sub qui rend la durée sous la forme hh:mm:ss, avec un exemple d'appel:
Code:
DIM f$,a$
f$ = "Z:\Allegro.mp3": ' ... à adapter...
DureeMp3(f$)
a$ = CLIPBOARD_STRING_PASTE$: PRINT a$
END

SUB DureeMp3(f$)
' durée du fichier mp3 f$, rendue dans le presse-papier sous la forme hh:mm:ss
DIM_LOCAL q$,scr$
q$ = CHR$(34)
scr$ = "C:\TEMP\Duree.vbs"
FILE_OPEN_WRITE 9,scr$
FILE_WRITELN 9, "FileName = wscript.arguments (0)"
FILE_WRITELN 9, "with CreateObject("+q$+"Scripting.FileSystemObject"+q$+").GetFile(FileName)"
FILE_WRITELN 9, "    Foldername = .ParentFolder"
FILE_WRITELN 9, "    FileName   = .Name"
FILE_WRITELN 9, "End With"
FILE_WRITELN 9, "with CreateObject("+q$+"Shell.Application"+q$+").Namespace(Foldername)"
FILE_WRITELN 9, "        wsh.echo .GetDetailsOf(.Parsename(FileName), 27)"
FILE_WRITELN 9, "end with"
FILE_CLOSE 9
EXECUTE_WAIT "cmd.exe /c cscript.exe "+scr$+" "+q$+f$+q$+" | clip"
FILE_DELETE scr$
END_SUB

NB Je suis sous W7, pour XP je crois qu'il faut mettre 21 au lieu de 27 dans le script vbs (ligne wsh.echo... 27), et 34 pour W 2000
Revenir en haut Aller en bas
Francis-mr




Nombre de messages : 186
Date d'inscription : 26/11/2012

lecteur MP3 aléatoire Empty
MessageSujet: Re: lecteur MP3 aléatoire   lecteur MP3 aléatoire EmptyVen 10 Avr 2015 - 15:57

Merci à ygeronimi pour sa curiosité et JL35 pour la sub. Ça marche super cheers
Je vais pouvoir modifier mon code pour ne pas avoir de liste à créer Very Happy Very Happy  Very Happy  
Comme quoi, j'ai encore beaucoup de chose à apprendre à mon âge.
Revenir en haut Aller en bas
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

lecteur MP3 aléatoire Empty
MessageSujet: Re: lecteur MP3 aléatoire   lecteur MP3 aléatoire EmptyVen 10 Avr 2015 - 16:38

A ton âge... en effet tu es encore jeune, tu as le temps d'en apprendre encore pas mal ! Wink
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

lecteur MP3 aléatoire Empty
MessageSujet: Re: lecteur MP3 aléatoire   lecteur MP3 aléatoire EmptyVen 10 Avr 2015 - 16:40

Et heureusement sinon la vie serait triste
Revenir en haut Aller en bas
Francis-mr




Nombre de messages : 186
Date d'inscription : 26/11/2012

lecteur MP3 aléatoire Empty
MessageSujet: Re: lecteur MP3 aléatoire   lecteur MP3 aléatoire EmptyVen 10 Avr 2015 - 20:48

Voila mon code modifié avec la sub de JL35.
Il suffit de mettre le fichier dans un répertoire contenant des fichiers MP3 et de le lancer.
Il est possible de changer de titre manuellement en cliquant sur le form.
Code:
dim a$, b%, c%, d$, m%, s%, t$     :Label JOU

width 0,500  :height 0,50  :left 0,screen_x-520  :top 0,20  :border_small 0
Caption 0,"Lecture aléatoire de fichiers MP3"  :font_bold 0  :on_click 0,JOU
dlist 1   :sound 2   :timer 3
a$=file_find_first$
while a$<>"_"
  if upper$(right$(a$,3))="MP3" then item_add 1,a$
  a$=file_find_next$
end_while
file_find_close
c%=count(1)
if c%<2 then message "Le répertoire actif doit contenir au minimum 2 fichiers MP3." :terminate
gosub JOU
end

JOU:
  cls   :b%=int(rnd(c%))+1
  if b%=m% then gosub JOU
  m%=b%
  d$=item_read$(1,b%)
  DUREE(d$)
  t$=trim$(right$(clipboard_string_paste$,7))
  print left$(item_read$(1,b%),len(item_read$(1,b%))-4)
  print_locate 450,0  :print t$
  file_load 2,item_read$(1,b%)  :play 2
  s%=(val(left$(t$,2))*60)+val(right$(t$,2))
  timer_interval 3,s%*1000
  on_timer 3,JOU
  return
  
sub DUREE(d$) :' Merci JL35
  dim_local q$    : q$=chr$(34)
  file_open_write 1,"Duree.vbs"
  file_writeln 1,"FileName = wscript.arguments (0)"
  file_writeln 1,"with CreateObject("+q$+"Scripting.FileSystemObject"+q$+").GetFile(FileName)"
  file_writeln 1,"  Foldername = .ParentFolder"
  file_writeln 1,"  FileName  = .Name"
  file_writeln 1,"End With"
  file_writeln 1,"with CreateObject("+q$+"Shell.Application"+q$+").Namespace(Foldername)"
  file_writeln 1,"  wsh.echo .GetDetailsOf(.Parsename(FileName), 27)" :' mettre 21 pour Win XP au lieu de 27
  file_writeln 1,"end with"
  file_close 1
  execute_wait "cmd.exe /c cscript.exe Duree.vbs "+q$+d$+q$+" | clip"
  file_delete "Duree.vbs"
end_sub
Revenir en haut Aller en bas
Contenu sponsorisé





lecteur MP3 aléatoire Empty
MessageSujet: Re: lecteur MP3 aléatoire   lecteur MP3 aléatoire Empty

Revenir en haut Aller en bas
 
lecteur MP3 aléatoire
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Un lecteur de Ebook...
» La fonction X = RND(1) est elle vraiment aléatoire ?
» Statistiques sur le générateur pseudo-aléatoire
» Restitution Aléatoire d'une Image (Compilation ?)
» Un lecteur MP3

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: