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
» Planétarium virtuel.
par Pedro Alvarez Hier à 16:57

» Roues dentées
par jean_debord Hier à 10:40

» Attention arnaque !
par mindstorm Jeu 19 Juil 2018 - 19:18

» Qui fait quoi ?
par silverman Mer 18 Juil 2018 - 15:21

» ITEM_SELECT N,L pour synedit
par silverman Mer 18 Juil 2018 - 15:20

» Boussole
par jean_debord Mer 18 Juil 2018 - 11:06

» Roue à n faces
par Marc Dim 15 Juil 2018 - 22:16

» Exemple d'une nouvelle version d'un GRID
par Jean Claude Ven 13 Juil 2018 - 10:32

» Une simple question
par Oscaribout Sam 7 Juil 2018 - 23:20

» BUG sur l'objet TAB
par Jack Sam 7 Juil 2018 - 21:12

» Monopoly moderne
par jjn4 Sam 7 Juil 2018 - 15:06

» Récapitulatif ludothèque panoramic jjn4
par jjn4 Ven 6 Juil 2018 - 17:41

» Lignes ondulées
par JL35 Ven 6 Juil 2018 - 17:39

» bug off_activate 0 : sans d'effet
par silverman Ven 6 Juil 2018 - 13:02

» Position des objets d'un conteneur dans FBPano et Panoramic
par Navigateur Ven 6 Juil 2018 - 12:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

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

Partagez | 
 

 Player MP3

Aller en bas 
AuteurMessage
JL35



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

MessageSujet: Player MP3   Ven 20 Nov 2015 - 14: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
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Vidéos - générateur de code pour vidéo et player
» real player
» Bug suite à la mise à jour 10.0.45.2 du player flash résolu
» Player MP3
» media player ne marche plus

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: