Page 1 sur 1

NextSelectFileName() probleme

Publié : ven. 11/mai/2007 21:13
par venom
bonjour,

voila le sujet a déjà était tomber mais je n'y arrive pas j'ai voulu continuer un vieux lecteur audio mais pas moyen de lire plusieurs fichiers précédament sélectionner :x . sa m'énerve si quelquin a déjà réussi a le faire, ou a une bonne explication pour que je comprenne.

voila en suivant l'exemple sa fonctionne :wink:

Code : Tout sélectionner

NomFichier$ = OpenFileRequester("Choisissez quelques fichiers","","musique|*.mp3;*.wma;*.wav|",0, #PB_Requester_MultiSelection)
 
  While NomFichier$
    Debug NomFichier$
    NomFichier$ = NextSelectedFileName()
  Wend
mais je ne sais pas comment faire c'est avec loadmovie() et playmovie().

donc est-ce qu'il faut pas enregistrer dans un fichier temporaire ou quelque chose comme sa ?.
merci

@++

Publié : ven. 11/mai/2007 23:42
par Jacobus
Ca ça devrait fonctionner mais non... les fichiers ne sont pas chargés.
Doit manquer un truc, mais j'ai la flemme de chercher et je vais me coucher.
Te voilà un exemple de structure permettant de plus facilement manipuler les fichiers sélectionnés.

Code : Tout sélectionner

If InitSound()<>0

#Son = 0
Structure Fichiers_a_lire
  nom.s         ; nom du fichier 
  Position.l    ; position du fichier
EndStructure 
Global NewList SelectedFiles.Fichiers_a_lire()

  NomFichier$ = OpenFileRequester("Choisissez quelques fichiers","c:\","musique|*.mp3;*.wma;*.wav",0, #PB_Requester_MultiSelection) 
   If NomFichier$ <> ""
     Repeat 
       NbFichiersalire + 1
        AddElement(SelectedFiles()) 
         SelectedFiles()\nom = NomFichier$ 
         SelectedFiles()\Position = NbFichiersalire 
         NomFichier$ = NextSelectedFileName()  
     Until NomFichier$ =""     
     NbFiles = CountList(SelectedFiles())
     Debug "Fichiers sélectionnés : "+ Str(NbFiles)      
        
        ForEach SelectedFiles()
          Debug Str(SelectedFiles()\Position) +" - "+ SelectedFiles()\nom
          If LoadSound(#Son, SelectedFiles()\nom)
             Resultat = IsSound(#Son)
              If Resultat<>0
               PlaySound(#Son,0)
               Else 
               MessageRequester("Erreur!","Impossible de lire le fichier"+Chr(10)+GetFilePart(SelectedFiles()\nom),#MB_ICONEXCLAMATION)
              EndIf 
           Else 
           MessageRequester("Erreur!","Impossible de charger le fichier"+Chr(10)+GetFilePart(SelectedFiles()\nom),#MB_ICONEXCLAMATION)
          EndIf 
        Next
       ClearList(SelectedFiles())         
   EndIf 
   
EndIf 

Publié : sam. 12/mai/2007 1:38
par scaraber
c'est normal que sa marche pas
Essaye avec un delay(2000) apres la lecture ...
tu charges une nouvelle musique avant que l'autre soit fini, je te deconseille d'utiliser la lib de purebasic pour un lecteur audio, tu ne peu pas gerer le temps de la chansons si elle est en lecture(ou alors je suis pas douer)...
a+
Scaraber

Publié : sam. 12/mai/2007 10:36
par venom
bonjour,

personnellement moi j'en suis arriver ici

telecharger

mais j'arrive pas du tout a comprendre comment faire :oops:


@+++[/url]

Publié : sam. 12/mai/2007 13:56
par venom
pardon voici le code source :oops:

Code : Tout sélectionner

InitMovie()

Enumeration
  #Window_1
EndEnumeration

Enumeration
  #image_1
  #image_2
  #image_3
  #image_4
  #image_5
  #image_6  
  #image_7
  #TextGadget_0
  #Listview_0
EndEnumeration

If ExamineDesktops()
 h = DesktopWidth(0)
 l = DesktopHeight(0)
EndIf

Procedure AnimationClose(Fenetre, Effet, Duree)
 AnimateWindow_(WindowID(Fenetre), Duree, Effet | #AW_HIDE) 
EndProcedure 

If OpenWindow(#Window_1, DesktopWidth(0)-320, DesktopHeight(0)-85, 320, 255, "mfv", #PB_Window_BorderLess )
    If CreateGadgetList(WindowID(#Window_1))
     SetWindowColor(#Window_1, RGB(0,23,114))
     If LoadImage(#image_1, "C:\mfv\ouvrir.bmp")
      ImageGadget(#image_1, 5, 5, 70, 20, ImageID(#image_1))
       GadgetToolTip(#image_1, "ouvre fichier audio")
     EndIf
     
     If LoadImage(#image_2, "C:\mfv\lecture.bmp")
      ImageGadget(#image_2, 77, 5, 70, 20, ImageID(#image_2))
       GadgetToolTip(#image_2, "lire le fichier")
     EndIf
     
     If LoadImage(#image_3, "C:\mfv\pause.bmp")
      ImageGadget(#image_3, 149, 5, 70, 20, ImageID(#image_3))
      GadgetToolTip(#image_3, "metre le fichier en pause")
     EndIf
     
     If LoadImage(#image_4, "C:\mfv\stop.bmp")
      ImageGadget(#image_4, 221, 5, 70, 20, ImageID(#image_4))
      GadgetToolTip(#image_4, "arrete la lecture du fichier")
     EndIf
     
     If LoadImage(#image_5, "C:\mfv\fermer.bmp")
      ImageGadget(#image_5, 293, 5, 24, 24, ImageID(#image_5))
      GadgetToolTip(#image_5, "fermer MFV")
     EndIf
     
     If LoadImage(#image_6, "C:\mfv\playliste.bmp")
      ImageGadget(#image_6, 293, 30, 24, 24, ImageID(#image_6))
      GadgetToolTip(#image_6, "ouvrir la playliste")
     EndIf
     
     ListViewGadget(#Listview_0, 10, 80, 305, 165)
      SetGadgetColor(#Listview_0, #PB_Gadget_FrontColor, RGB(0,23,114))
       SetGadgetColor(#Listview_0, #PB_Gadget_BackColor, RGB(255,255,255))

EndIf
  EndIf

Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget 
      Select EventGadget()

       Case #image_1
       LoadImage(#image_1, "C:\mfv\ouvrir.bmp") 
       ImageGadget(#image_1, 5, 5, 70, 20, ImageID(#image_1))
        NomFichier$ = OpenFileRequester("Titre", "", "audio|*.wav;*.wave;*.mp3;*.mid;*.wma;*.m3u|", 0,#PB_Requester_MultiSelection)
     
     If NomFichier$
      LoadMovie(1, NomFichier$)
     EndIf
      TextGadget(#TextGadget_0, 5, 30,285,15,GetFilePart(NomFichier$))
       SetGadgetColor(#TextGadget_0, #PB_Gadget_BackColor, RGB(0,23,114))
        SetGadgetColor(#TextGadget_0, #PB_Gadget_FrontColor, RGB(255,255,255)) 
        
While NomFichier$
  AddGadgetItem(#Listview_0, -1, GetFilePart(NomFichier$), 0)
  NomFichier$ = NextSelectedFileName()
Wend

       Case #image_2
        If MovieStatus(1) = 0
         PlayMovie(1, WindowID(#Window_1))
         MovieInfo(1, Flags)
        ElseIf MovieStatus(1) = -1
         ResumeMovie(1)
        EndIf
       
       Case #image_3
        PauseMovie(1)
       
       Case #image_4
        StopMovie(1)
      
       Case #image_5
        AnimationClose(#Window_1, #AW_BLEND, Val("1300")) 
         End
       
       Case #image_6
       ResizeWindow(#Window_1, DesktopWidth(0)-320, DesktopHeight(0)-285, 320, 255)
     If LoadImage(#image_7, "C:\mfv\playliste.bmp")
      ImageGadget(#image_7, 293, 55, 24, 24, ImageID(#image_7))
      GadgetToolTip(#image_7, "fermer la playliste")
     EndIf
     
       Case #image_7
        ResizeWindow(#Window_1, DesktopWidth(0)-320, DesktopHeight(0)-85, 320, 255)
       
       Case #Listview_0
       NomFichier$ = GetGadgetText(#Listview_0)
        SetGadgetText(#TextGadget_0, NomFichier$)

      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow
si sa peut aidé :wink:


@++

Publié : sam. 12/mai/2007 15:48
par Backup
.....

Publié : sam. 12/mai/2007 16:00
par Backup
sorry , je viens de corriger un petit probleme :lol:

ps : tu pensera a moi dans les Greeting :wink:

Publié : sam. 12/mai/2007 17:10
par Backup
maintenant ça lit tout seul les elements de la liste

tu choisi le premier , il va lire tout jusqu'a la fin puis au dernier, il recommence au debut de la liste !

je viens de faire une derniere correction, en principe now c'est good :D

Publié : sam. 12/mai/2007 18:01
par venom
:D je te remercie dobro chez moi sa fonctionne niquel :wink:

puis tu as pris le temps d'expliquer le déroulement c'est simpa :wink: il me reste plus qu'a bien comprendre ton code pour bien comprendre.
je n'imaginé même pas qu'il y avait tout sa a ajouté je serais vraiment mal partie .

en tout cas c'est bien cool :wink: merci


@++

Publié : sam. 12/mai/2007 19:15
par Backup
j'ai pas fini, je suis en train de gerer un bug ou deux, et la selection dand la listview au fur a mesure de la lecture !! :D
ça viens, laisse moi un poil de temps encore :D

Publié : dim. 13/mai/2007 10:51
par Backup
@Venom:
voila ce matin j'ai les idées plus clair, j'ai donc remodifié le dernier listing en couleur ci-dessus !!

maintenant tu peut choisir tes fichiers

tu peut sélectionner celui que tu veux entendre

si tu laisse la lecture ce faire,
il lira tout les fichiers de la liste et lorsqu'il arrivera a la fin de celle-ci
il recommencera au debut .. :D

Désolé pour les multiple essais, je programme avec mes doigts, pas mon cerveau (la technique de l'essai et de l'erreur :lol: c'est plus long, mais ça marche aussi :D )

Publié : dim. 13/mai/2007 13:26
par venom
Désolé pour les multiple essais, je programme avec mes doigts, pas mon cerveau
:lol:

ba écoute dobro je te remercie grandement de ton aide fort simpatique :wink: .
tu a tellement travailler dessus que tu a fait tout mon travaille :wink: .

en tout cas encore merci. j'aurais du mal a te rendre la monnaie de la pièce mais bon qui sait :wink: .

ps: par contre j'ai vu dans t'est commentaire que tu décale la liste d'un crant mais le probleme c'est que je suis un peut perdu dans toutes ces nouvelles lignes. et j'ai remarquer qu'a chaque fin de musique au lieu de lire la suivante sa saute toujours une musique pourrais tu stp m'indiquer ou se trouve cette fameuse ligne stp dobro ?
merci


@++

Publié : dim. 13/mai/2007 16:12
par Backup
.......

Publié : dim. 13/mai/2007 16:28
par Backup
attention, j'ai edité au dessus :D

Publié : dim. 13/mai/2007 16:58
par venom
re,

bon tu a raison sa doit venir de mon pc car sa le fait toujours donc j'ai essayé sur 2 autres de mes ordinateur et la oui sa fonctionne niquel :wink: .
bon je te remercie encore une fois :lol: .


@++