Savoir la fin d'un mp3

Codes specifiques à Linux
allasktulu
Messages : 34
Inscription : sam. 29/nov./2008 22:42

Savoir la fin d'un mp3

Message par allasktulu »

Bonjour, J'ai une question concernant la lib Movie sur linux.

Comment savoir si un mp3 est fini?
Car dans l'exemple suivant, il passe tout droit sans attendre la fin du mp3.

Code : Tout sélectionner

While position < EndPosition
       SelectElement(Playlists(), position) 
       LoadMovie(#Movie, Playlists()\SongPath + Playlists()\SongName)
       PlayMovie(#Movie, WindowID(#Win)) 
       position + 1
Wend 
Aussi, avec

Code : Tout sélectionner

While position < EndPosition
      
      If SongRest = 0 

         SelectElement(Playlists(), position) 
         LoadMovie(#Movie, Playlists()\SongPath + Playlists()\SongName)

         PlayMovie(#Movie, WindowID(#Win)) 
         SongRest = 1

       If MovieStatus(#Movie) < 1
          SongRest = 0
       EndIf 

      EndIf 
      position + 1
Wend 
allasktulu
Messages : 34
Inscription : sam. 29/nov./2008 22:42

Message par allasktulu »

Hmm, autrement dit, il y a t-il un moyen de faire jouer 2 chanson une a la suite de l'autre sur linux? J'avais réussit sur windows mais avec Mci. :?
Anonyme

Message par Anonyme »

C'est quelle lib sous linux ? je ne parle pas de la lib movie de PB mais celle de la couche du dessous ?

Sinon avec le header du MP3 c'est pas possible ?
allasktulu
Messages : 34
Inscription : sam. 29/nov./2008 22:42

Message par allasktulu »

C'est la lib MCI que l'on retrouve dans CodeArchiv.

Je n'en sais rien :?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

je pense qu'il te faut utiliser un flag !!

dans un premier temps :

Code : Tout sélectionner


                    MovieInfo(1, flags)
                    Delay(50) ; on lui laisse le temps de démarrer !!
                    ok=1 ; cela m'indique que la lecture a commencé !!  
(regarde le flag 'ok')

pour savoir si le morceau est arreté tu fais un truc genre :

Code : Tout sélectionner


    If   ok=1 And MovieStatus(1) = 0 ; le morceau est arreté ? 
        NextElement(liste()) 
        nom$=liste()  
        NextElement(liste()) 
        Chemin$=liste()
        
ok=1 nous indique qu'il y avait bien une lecture engagée !
et MovieStatus(1) = 0 nous indique que le morceau est arreté !! :)

on peut donc passer a l'element suivant de la liste ;)

en principe ça devrai marcher :)
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

Bonjour,

désolé de balancer un code comme sa sans commentaire mais je n'est pas le temps en ce moment.

si tu veut Dobro ma fait ce genre de chose une fois sur windows.
sa permet d'après un ListViewGadget() de récuperer la fin d'un fichier audio et ensuite de metre en lecture le morceau suivant.

voici la source exporter sous linux qui chez moi fonctionne bien :wink:

source plus executable linux ici

voila si sa peut aidé :wink:




@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
allasktulu
Messages : 34
Inscription : sam. 29/nov./2008 22:42

Message par allasktulu »

Merci a vous deux, je vais regarder cela de plus près. :D
Répondre