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
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Klaus Aujourd'hui à 19:48

» KGF_dll - nouvelles versions
par pascal10000 Aujourd'hui à 17:27

» Mah-Jong européen new-look
par Minibug Hier à 22:31

» track_bar circulaire
par Klaus Hier à 13:54

» API Windows
par Klaus Hier à 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 Player MP3

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



Nombre de messages : 6018
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: