Code : Tout sélectionner
;Lire un MP3 avec la bibliothéque movie
Enumeration
#MainForm
#Mp3
#Mp3Title
#Mp3Select
#Mp3Play
#Mp3Stop
#Mp3Volume
EndEnumeration
Declare OnSelect()
Declare OnPlay()
Declare OnStop()
Declare OnVolumeChange()
Declare OnExit()
InitMovie()
OpenWindow(#MainForm, 0, 0, 280, 150, "Lire un MP3 avec la bibliothéque movie", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
;Affichage du titre
TextGadget(#Mp3Title, 10, 20, 380, 22, "No mp3 select ...")
;Interface du lecteur
ButtonGadget(#Mp3Play, 10, 50, 80, 24, "Play")
ButtonGadget(#Mp3Stop, 100, 50, 80, 24, "Stop")
ButtonGadget(#Mp3Select, 190, 50, 80, 24, "Select")
;Volume
TrackBarGadget(#Mp3Volume, 10, 120, 260, 22, 0, 100)
SetGadgetState(#Mp3Volume, 50)
;Triggers (Déclencheur)
BindGadgetEvent(#Mp3Play, @OnPlay())
BindGadgetEvent(#Mp3Stop, @OnStop())
BindGadgetEvent(#Mp3Select, @OnSelect())
BindGadgetEvent(#Mp3Volume, @OnVolumeChange())
BindEvent(#PB_Event_CloseWindow, @OnExit())
Repeat : WaitWindowEvent(10) : ForEver
Procedure OnSelect()
Protected MP3file.s = OpenFileRequester("Sélectionner un mp3", "", "mp3 (*.mp3)|*.mp3", 0)
If MP3File
LoadMovie(#Mp3, MP3File)
SetGadgetData(#Mp3Play, 0) ;Un titre est en cours de lecture
OnPlay()
OnVolumeChange()
;Affichage du titre
SetGadgetText(#Mp3Title, GetFilePart(MP3file))
EndIf
EndProcedure
Procedure OnPlay()
If IsMovie(#Mp3)
Select MovieStatus(#Mp3)
Case 0 ;Le titre n'est pas en cours de lecture
PlayMovie(#Mp3, WindowID(#MainForm))
SetGadgetText(#Mp3Play, "Pause")
Case -1 ;Le titre est en pause : Reprise de la lecture
ResumeMovie(#Mp3)
SetGadgetText(#Mp3Play, "Pause")
Default ;Le titre est en cours de lecture : On le met en pause
PauseMovie(#Mp3)
SetGadgetText(#Mp3Play, "Play")
EndSelect
EndIf
EndProcedure
Procedure OnStop()
If IsMovie(#Mp3)
StopMovie(#Mp3)
SetGadgetData(#Mp3Play, 0)
SetGadgetText(#Mp3Play, "Play")
EndIf
EndProcedure
Procedure OnVolumeChange()
Protected Value = GetGadgetState(#Mp3Volume)
If IsMovie(#Mp3)
MovieAudio(#Mp3, Value, 0)
EndIf
EndProcedure
Procedure OnExit()
If IsMovie(#Mp3)
FreeMovie(#Mp3)
EndIf
End
EndProcedure
