FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» A propos des attributs de fichier
par Oscaribout Aujourd'hui à 1:53

» Problème de math
par Marc37 Hier à 23:04

» Problème de math
par braveen Hier à 21:40

» I Love You
par papydall Hier à 19:22

» Un petit "coucou" à tous les Panoramiciens !
par mindstorm Hier à 17:06

» MARK_ON déclenche un événement ON_CLICK à la place de ...
par Jean Claude Mer 18 Oct 2017 - 18:08

» mise a jour calculatrice
par joeeee2017 Mer 18 Oct 2017 - 15:57

» [solved] 3D_LINE How to ?
par Jicehel Mer 18 Oct 2017 - 11:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Mar 17 Oct 2017 - 18:49

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» Calculatrice
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Player MP3

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
JL35



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

MessageSujet: Player MP3   Ven 20 Nov 2015 - 16:19

Bien calme en ce moment, mais bon, c'est pas facile à digérer.
Un petit player tout simple:
Code:
LABEL Chr, Jouer, Passer, Arret, Debut
DIM r$,f$,i%,j%,a$,ff%,pa%,d%,du%,tt%,t%,q$
q$ = CHR$(34)
ff% = 0
pa% = 0

BORDER_SMALL 0: WIDTH 0,640: HEIGHT 0,500: FONT_BOLD 0: FONT_NAME 0,"Arial"
  COLOR 0,190,255,255: CAPTION 0,"  -  Player  MP3  -"
ALPHA 1: TOP 1,3: CAPTION 1,"Répertoire des MP3 :"
EDIT 2: TOP 2,0: LEFT 2,120: WIDTH 2,WIDTH(0)-150: TEXT 2," (clic)": ON_CLICK 2,Chr
ALPHA 6: TOP 6,28: LEFT 6,30: CAPTION 6,"Durée:      Cliquer le morceau de départ, puis"
BUTTON 7: TOP 7,TOP(6)-6: LEFT 7,LEFT(6)+250: CAPTION 7,"Jouer"
  ON_CLICK 7,Jouer
BUTTON 8: TOP 8,TOP(7): LEFT 8,LEFT(7)+80: CAPTION 8,"Passer": ON_CLICK 8,Passer
BUTTON 9: TOP 9,TOP(7): LEFT 9,LEFT(8)+80: CAPTION 9,"STOP": ON_CLICK 9,Arret
MEMO 10: WIDTH 10,600: HIDE 10
LIST 11: TOP 11,47: LEFT 11,0: WIDTH 11,20: HEIGHT 11,HEIGHT(0)-138
LIST 12: TOP 12,TOP(11): LEFT 12,WIDTH(11): WIDTH 12,50: HEIGHT 12,HEIGHT(11)
LIST 13: TOP 13,TOP(11): LEFT 13,WIDTH(11)+WIDTH(12): WIDTH 13,WIDTH(0)-90: HEIGHT 13,HEIGHT(11)
  ON_CLICK 13,Debut
EDIT 16: TOP 16,TOP(11)+HEIGHT(11)+1: LEFT 16,0: WIDTH 16,WIDTH(0)-20: COLOR 16,255,255,0
SOUND 20
OPEN_DIALOG 25
EDIT 29: TOP 29,HEIGHT(0)-68: WIDTH 29,35: TEXT 29,"00:00"
PROGRESS_BAR 30: TOP 30,TOP(29)+3: LEFT 30,WIDTH(29): WIDTH 30,WIDTH(0)-92
EDIT 31: TOP 31,TOP(29): LEFT 31,WIDTH(29)+WIDTH(30): WIDTH 31,WIDTH(29)
END
' ==============================================================================
Chr:
a$ = FILE_NAME$(25): IF LEN(a$)<4 THEN RETURN
r$ = FILE_EXTRACT_PATH$(a$): TEXT 2,r$
EXECUTE_WAIT "cmd.exe /c DIR /B "+q$+r$+"*.mp3"+q$+" | clip"
CLEAR 10: CLEAR 11: CLEAR 12: CLEAR 13: CLIPBOARD_PASTE 10
FOR i% = 1 TO COUNT(10)
    ITEM_ADD 11,RIGHT$(" "+STR$(i%),2)
    ITEM_ADD 13,ITEM_READ$(10,i%)
    f$ = r$+ITEM_READ$(10,i%): DureeMp3(f$)
    a$ = CLIPBOARD_STRING_PASTE$
    ITEM_ADD 12,TRIM$(a$)
NEXT i%
RETURN
' ==============================================================================
Debut:
d% = ITEM_INDEX(13)
TEXT 16,"N° "+STR$(d%)+":  "+ITEM_READ$(13,d%)
TEXT 31,RIGHT$(ITEM_READ$(12,d%),5)
RETURN
' ==============================================================================
Jouer:
IF d% = 0 THEN d% = 1
FOR i% = d% TO COUNT(13)
    f$ = ITEM_READ$(13,i%)
    FILE_LOAD 20,chr$(34)+r$+f$+chr$(34)
    a$ = ITEM_READ$(12,i%): ' durée
    TEXT 16,"N° "+STR$(i%)+":  "+f$
    TEXT 31,RIGHT$(a$,5)
    du%=3600*VAL(LEFT$(a$,2))+60*VAL(MID$(a$,4,2))+VAL(RIGHT$(a$,2)): ' en secondes
    a$ = TIME$
    j%=3600*VAL(LEFT$(a$,2))+60*VAL(MID$(a$,4,2))+VAL(RIGHT$(a$,2)): ' heure début
    tt% = j%+du%
    PLAY 20
    MAX 30,du%: POSITION 30,0
    WHILE t% < tt%
        PAUSE 500
        IF ff% = 1 OR pa% = 1 THEN DELETE 20: SOUND 20: EXIT_WHILE
        a$ = TIME$
        t% = 3600*VAL(LEFT$(a$,2))+60*VAL(MID$(a$,4,2))+VAL(RIGHT$(a$,2))
        POSITION 30,t%-j%
    END_WHILE
    IF ff% = 1 THEN POSITION 30,0: EXIT_FOR: ' arrêt immédiat...
    pa% = 0
NEXT i%
ff% = 0: pa% = 0
RETURN
' ==============================================================================
Passer:
' sauter le morceau en cours (passer au suivant)
pa% = 1
RETURN
' ==============================================================================
Arret:
' arrêt immédiat sans reprise possible à l'endroit de l'arrêt
ff% = 1
RETURN
' ==============================================================================
SUB DureeMp3(f$)
' durée du fichier mp3 f$, rendue dans le presse-papier ('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
' ==============================================================================
- cliquer sur l'édit du haut et cliquer un fichier quelconque du répertoire choisi
 -> la liste des mp3 du répertoire s'affiche au-dessous, avec leur durée individuelle
- cliquer dans la liste le morceau de départ, puis cliquer 'Jouer': le player lira la liste à partir de là.

Le Progress_Bar en bas indique l'évolution dans le morceau en cours.

Le bouton 'Passer' permet de stopper le morceau en cours d'exécution et de passer automatiquement au suivant.

Bouton 'STOP': pour stopper à n'importe quel moment en cours d'exécution. J'ai utilisé pour ça l'astuce géniale de Klaus ( http://panoramic.free-boards.net/t2384-peut-on-arreter-la-commande-play?highlight=PLAY ) qui consiste à faire Delete de l'objet Sound et à le recréer aussitôt: l'exécution s'arrête immédiatement.
Mais (il y a un mais...), on ne peut pas reprendre en cours là où on s'est arrêté, ça je ne sais pas faire, donc pas de fonction Pause.
Il faut refaire 'Jouer' qui reprend au début d'un morceau.


Si on veut agrandir la fenêtre en hauteur, il suffit de modifier le Height 0, le reste suivra.

PS: je ne me suis occupé que des fichiers MP3, j'ai laissé de côté les fichiers WAV que Play sait aussi lire.
Et j'ai modifié un peu les marges, j'ai laissé de la place en bas pour les windows huitards.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 
Player MP3
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Vidéos - générateur de code pour vidéo et player
» [Résolu] Mise à jour Adobe Flash Player
» real player
» Bug suite à la mise à jour 10.0.45.2 du player flash résolu
» shockwave player

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: