Page 1 sur 3

[Résolu] Problèmes Images

Publié : jeu. 31/mars/2011 18:41
par David02
Bonsoir,

J'ai trouvé comment éviter d'avoir des cadres blancs autour des gadgets.
Dans mon image de fond, je recrée tout mes cadres et mes texte et je remplace tout les gadgets (sauf les boutons) par l'image crée.
On peut aussi crée une image (par exemple un cadre), ensuite mettre le fond en transparent, et l'enregistrer au format PNB.

Mais mon problème est que quand je lance une vidéo, mes gadgets disparaissent.
Ce problème est arrivé quand j'ai mis mon image de fond.

Savez-vous comment faire?

Re: Problèmes Images

Publié : jeu. 31/mars/2011 21:25
par Le Soldat Inconnu
Pas vraiment, car je n'ai pas saisi ce que tu fais avec tes images. Un code exemple ?

Re: Problèmes Images

Publié : jeu. 31/mars/2011 23:12
par falsam
En espérant que j'ai compris les données du problème, tu souhaites afficher un fond d’écran sur lequel tu affiches un texte avec une couleur de fond invisible puis tu sélectionne un film et tu le joues.

Code : Tout sélectionner

UseJPEGImageDecoder() 
 InitMovie()

Enumeration
  #MainForm
  #Image
EndEnumeration

If InitNetwork() And ReceiveHTTPFile("http://theotime.colin.free.fr/IMG/jpg/bizzar-feu-fond-ecran.jpg", GetTemporaryDirectory()+"background.jpg")
Else
  Debug "could not download button graphics"
  End
EndIf

Procedure MainFormShow()
  OpenWindow(#MainForm,0,0,500,500,"Nouvelle application",#PB_Window_ScreenCentered | #PB_Window_SystemMenu)
  ButtonGadget(#PB_Any, 350,10,80,20,"Test")
  
  LoadImage(#Image, GetTemporaryDirectory()+"background.jpg")
  
  ;Ecrire un texte 
  StartDrawing(ImageOutput(#Image))
  DrawingMode(#PB_2DDrawing_Transparent)
  DrawText(10,10,"Visualiser un film")
  StopDrawing()
  ImageGadget(#PB_Any,0,0,500,500,ImageID(#Image))
  
  
  MovieName$ = OpenFileRequester("Ouvrir un film", "", "Movie/Audio files|*.avi;*.mpg;*.asf;*.mp3;*.wav|All Files|*.*", 0)
  If MovieName$
    If LoadMovie(0, MovieName$)
      ResizeMovie(0, 30, 30, 300, 250)
      PlayMovie(0, WindowID(#MainForm))
    EndIf
  EndIf
  

EndProcedure


MainFormShow()

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_Gadget

    Case #PB_Event_CloseWindow
      End
  EndSelect
ForEver

Re: Problèmes Images

Publié : ven. 01/avr./2011 8:42
par David02
Falsam, j'avais bien un problème concernant le texte avec une couleur de fond invisible mais là le problème est que certains gadgets disparaissent en lançant une vidéo.
Je vous ai mis une image pour mieux vous montrer.

Image


Désolé si je m'explique mal mais j'ai toujours au du mal à expliquer les choses.

Merci

Re: Problèmes Images

Publié : ven. 01/avr./2011 8:50
par Backup
si tu fais jouer ta video directement sur la fenetre .. c'est normal

il faut utiliser un
CallBack()

voir
SetWindowCallback(@NomDeLaProcedure() [, #Fenetre])
dans la Doc ( touche F1 )

ou mettre ta video en thread () ...

parceque pendant qu'elle joue , tes evenements fenetre ne sont surement plus geré
d'ou disparition des gadgets au bout d'un certain temps ...

ps: (en faisant Control+alt+del onglet Processus) dis moi combien prends ton prg en ressource
( petit chiffre a droite ) pendant la lecture d'une video

Re: Problèmes Images

Publié : ven. 01/avr./2011 8:59
par David02
Le prg prends presque 11 000K, pourquoi ?

Je vais essayé avec le Calback() ou le Thread().

Je vous tiens au courant.
Merci

Re: Problèmes Images

Publié : ven. 01/avr./2011 9:02
par Backup
David02 a écrit :Le prg prends presque 11 000K, pourquoi ?

Je vais essayé avec le Calback() ou le Thread().

Je vous tiens au courant.
Merci
ce qui m'interresse c'est le chiffre de la colonne "processeur" de l'onget PROSSESSUS
parcequ'il determine si ton prg bouffe des ressources , ce qui serai
la preuve que tes evenements sont mal gerés ;)

Re: Problèmes Images

Publié : ven. 01/avr./2011 9:06
par David02
Désolé j'ai mal lu.
C'est marqué "00" dans la colonne processeur.
D'ailleurs tout les autres processus sont à "00".

J'ai été voir dans l'aide pour le Callback et le Thread mais j'ai pas compris.
Comment fait-on et à quoi ça sert exactement?

Re: Problèmes Images

Publié : ven. 01/avr./2011 9:13
par Backup
.............

Re: Problèmes Images

Publié : ven. 01/avr./2011 9:17
par Backup
code reedité ( j'ai des soucis avec mon colorer )

Re: Problèmes Images

Publié : ven. 01/avr./2011 9:22
par David02
En fait, t'as réussi à mettre ta vidéo directement à l'endroit voulu?
Car dans mon prg, elle se mets dans le coin gauche avant de se mettre dans mon cadre.
Et c'est pour ça que mes gadgets disparaissent.

Re: Problèmes Images

Publié : ven. 01/avr./2011 9:24
par Backup
David02 a écrit :En fait, t'as réussi à mettre ta vidéo directement à l'endroit voulu?
Car dans mon prg, elle se mets dans le coin gauche avant de se mettre dans mon cadre.
Et c'est pour ça que mes gadgets disparaissent.

ben regarde mon listing :)

et particulierement "ResizeMovie"
qui sertt a redimentionner la video , MAIS AUSSI a la placer a l'endroit voulu :)

Re: Problèmes Images

Publié : ven. 01/avr./2011 9:32
par David02
J'ai utilisé ResizeMovie() avec mes paramètres de mon cadre sauf que ça ne fonctionne pas.

Voila le code de la procédure de lecture avec ResizeMovie():

Code : Tout sélectionner

Procedure lecture()
  SetGadgetText(#encours, "En cours: " + GetFilePart(GetGadgetText(#liste)))
  OpenWindow(#pleinecran,0,0,0,0,nom_movi$,#PB_Window_Maximize|#PB_Window_BorderLess)
  HideWindow(#pleinecran,1)
  AddKeyboardShortcut(#pleinecran,#PB_Shortcut_Space,#pause)
  AddKeyboardShortcut(#pleinecran,#PB_Shortcut_Escape,#quitt)
  LoadMovie(#movie,GetGadgetText(#liste)) And PlayMovie(#movie,WindowID(#fenetre))
  LoadMovie(#movieecran,GetGadgetText(#liste)) And PlayMovie(#movieecran,WindowID(#pleinecran))
  MovieAudio(#movieecran,0,0)
  If MovieWidth(#movie)>1 And MovieHeight(#movie)>1
   HideGadget(#liste,1)
   ResizeMovie(#movie,150, 200, 690, 360)
   ResizeMovie(#movieecran,0,0,WindowWidth(#pleinecran),WindowHeight(#pleinecran))
  EndIf 
DisableGadget(#b_Play,1)
DisableGadget(#b_Stop,0)
DisableGadget(#b_Pause,0)
DisableGadget(#plein_ecran,0)
DisableGadget(#B_resume, 1)
DisableGadget(#B_volume, 0)
EndProcedure

Re: Problèmes Images

Publié : ven. 01/avr./2011 9:50
par Backup
il semble que tu ai peur de filer ton code ...complet

c'est dommage , pour les tests et trouver les bug, c'est plus simple ..
on sait tous faire un lecteur Video ici , alors je ne comprends pas tes réticences... :roll:

Re: Problèmes Images

Publié : ven. 01/avr./2011 9:52
par David02
Voici le code complet:

Code : Tout sélectionner

UseJPEGImageDecoder()
UsePNGImageDecoder()

Enumeration
  #fenetre
  #Menu
  #B_Volume
  #Textvolume
  #B_charger
  #B_play
  #B_stop
  #Musique
  #Texte_fichier
  #Textmusic
  #TextFichier
  #Cadre
  #B_Pause
  #Movie
  #B_resume
  #Liste
  #pleinecran
  #Pause
  #menu2
  #Quitt
  #movieecran
  #movie3
  #plein_ecran
  #Cadre2
  #Position
  #Radio
  #NRJ
  #Funradio
  #Virgin
  #Nostalgie
  #Cadre3
  #RadioContact
  #Propos
  #TextPropos
  #editeur
  #Closepropos
  #stopradio
  #logo
  #Logo2
  #Logo3
  #logo4
  #Logo5
  #Web
  #logonrj
  #logofunradio
  #logovirgin
  #logonostalgie
  #logoradiocontact
  #nomradio
  #ecouteradio
  #logostopradio
  #logoadd
  #logofullscreen
  #logopause
  #logoplay
  #logostop
  #Menuquit
  #menuAdd
  #logoresume
  #menupropos
  #theme
  #Menutheme
  #encours
  #menusupptheme
  #supptheme
  #suppmedia
  #logotitre
  #jouer
  #menu1
  #espace
  #entree
  #MenuCommandes
  #commande
  #closecommande
  #editeurcommande
  #logocommande
  #logonerdz
  #Fullscreen
  #add
  #Stop
  #echap
EndEnumeration

DataSection
  logotitre:
  IncludeBinary "C:\users\nerdzmediaplayer\images\themenerdz3.bmp"
  Logocommande:
  IncludeBinary "C:\users\nerdzmediaplayer\images\commandes.bmp"
  Logonerdz:
  IncludeBinary "C:\users\nerdzmediaplayer\images\nerdzplayer.bmp"
  Logoplay:
  IncludeBinary "C:\users\nerdzmediaplayer\images\play.bmp"
  Logostop:
  IncludeBinary "C:\users\nerdzmediaplayer\images\stop.bmp"
  Logopause:
  IncludeBinary "C:\users\nerdzmediaplayer\images\pause.bmp"
  Logoadd:
  IncludeBinary "C:\users\nerdzmediaplayer\images\add.bmp"
  Logofullscreen:
  IncludeBinary "C:\users\nerdzmediaplayer\images\fullscreen.bmp"
  Logoresume:
  IncludeBinary "C:\users\nerdzmediaplayer\images\resume.bmp"
  Logofunradio:
  IncludeBinary "C:\users\nerdzmediaplayer\images\funradio.bmp"
  LogoVirgin:
  IncludeBinary "C:\users\nerdzmediaplayer\images\virginradio.bmp"
  Logonostalgie:
  IncludeBinary "C:\users\nerdzmediaplayer\images\nostalgie.bmp"
  Logonrj:
  IncludeBinary "C:\users\nerdzmediaplayer\images\nrj.bmp"
  Logoradiocontact:
  IncludeBinary "C:\users\nerdzmediaplayer\images\radiocontact.bmp"
  Logostopradio:
  IncludeBinary "C:\users\nerdzmediaplayer\images\stopradio.bmp"
EndDataSection


InitMovie()
Global Fichier.s, Playonoff.b


Procedure theme()
  theme$ = OpenFileRequester("Choisir le thème", "", "Images|*.jpg;*.bmp", 0)
  If LoadImage(#theme, theme$)
    ResizeImage(#theme,1200, 620)
    ImageGadget(#fenetre, 0, 0, 1000, 620, ImageID(#theme)) 
  EndIf
EndProcedure

Procedure supptheme()
  If LoadImage(#supptheme, "C:\users\Nerdzmediaplayer\images\theme.jpg")
    ImageGadget(#fenetre, 0, 0, 1200, 620, ImageID(#supptheme))
  EndIf
    If LoadImage(#logotitre, "C:\users\nerdzmediaplayer\images\themenerdz3.bmp")
    ImageGadget(#fenetre, -20, -15, 1000, 620, ImageID(#logotitre), #PB_Image_Border)
  EndIf
EndProcedure

Procedure Charger()
  MovieName$ = OpenFileRequester("Choisir le média", "", "fichiers audio et vidéo|*.mp3;*.wma;*.avi;*.mpg;*.wav;*.wmv;*.jpg;*.png;*.bmp", 0,#PB_Requester_MultiSelection)
  If MovieName$
    DisableGadget(#B_play,0)
  While MovieName$
    AddGadgetItem(#liste,-1,MovieName$)
    MovieName$ = NextSelectedFileName()
   Wend
    SetGadgetState(#liste,List)
    nom_movi$ = GetFilePart(MovieName$)
    GetGadgetState(#liste)
  EndIf
EndProcedure

Procedure lecture()
  SetGadgetText(#encours, "En cours: " + GetFilePart(GetGadgetText(#liste)))
  OpenWindow(#pleinecran,0,0,0,0,nom_movi$,#PB_Window_Maximize|#PB_Window_BorderLess)
  HideWindow(#pleinecran,1)
  AddKeyboardShortcut(#pleinecran,#PB_Shortcut_Space,#pause)
  AddKeyboardShortcut(#pleinecran,#PB_Shortcut_Escape,#quitt)
  LoadMovie(#movie,GetGadgetText(#liste)) And PlayMovie(#movie,WindowID(#fenetre))
  LoadMovie(#movieecran,GetGadgetText(#liste)) And PlayMovie(#movieecran,WindowID(#pleinecran))
  MovieAudio(#movieecran,0,0)
  If MovieWidth(#movie)>1 And MovieHeight(#movie)>1
   HideGadget(#liste,1)
   ResizeMovie(#movie,150, 200, 690, 360)
   ResizeMovie(#movieecran,0,0,WindowWidth(#pleinecran),WindowHeight(#pleinecran))
  EndIf 
DisableGadget(#b_Play,1)
DisableGadget(#b_Stop,0)
DisableGadget(#b_Pause,0)
DisableGadget(#plein_ecran,0)
DisableGadget(#B_resume, 1)
DisableGadget(#B_volume, 0)
EndProcedure

Procedure Arreter()
StopMovie(#movie)
FreeMovie(#movie)
HideGadget(#liste,0)
StopMovie(#movieEcran)
FreeMovie(#movieEcran)
DisableGadget(#b_play,0)
DisableGadget(#b_Stop,1)
DisableGadget(#b_resume,1)
DisableGadget(#b_Pause,1)
DisableGadget(#B_volume, 1)
EndProcedure

Procedure.s pause()
PauseMovie(#movie)
PauseMovie(#movieEcran)
DisableGadget(#b_play,1)
DisableGadget(#b_Stop,0)
DisableGadget(#b_resume,0)
DisableGadget(#b_Pause,1)
DisableGadget(#B_volume, 0)
EndProcedure

Procedure.s resume()
ResumeMovie(#movie)
DisableGadget(#b_play,1)
DisableGadget(#b_Stop,0)
DisableGadget(#b_resume,1)
DisableGadget(#b_Pause,0)
DisableGadget(#B_volume, 0)
EndProcedure

 Procedure Fullscreen()
HideWindow(#pleinecran,0)
StickyWindow(#pleinecran,1)
EndProcedure

Procedure Commandes()
  OpenWindow(#commande, 0, 0, 400, 400, "Commandes", #PB_Window_WindowCentered | #PB_Window_TitleBar)
  SetWindowColor(#Commande, $0000)
    ImageGadget(#commande, 0, 0, 300, 100, CatchImage(#logocommande, ?logocommande))
  StickyWindow(#commande, 1)
  ButtonGadget(#Closecommande, 160, 360, 80, 25, "Fermer")
  ListIconGadget(#editeurcommande, 25, 70, 350, 280, "Commandes", 175, #PB_ListIcon_FullRowSelect | #PB_ListIcon_GridLines)
  AddGadgetColumn(#editeurcommande, 1, "Fonction", 171)
    AddGadgetItem(#EditeurCommande, -1, "Touche Entrée" + Chr(10) + "Lecture")
    AddGadgetItem(#EditeurCommande, -1, "Touche Espace" + Chr(10) + "Pause/Reprendre")
    AddGadgetItem(#EditeurCommande, -1, "Touche S" + Chr(10) + "Stop")
    AddGadgetItem(#EditeurCommande, -1, "Touche F" + Chr(10) + "Mode Plein Ecran")
    AddGadgetItem(#EditeurCommande, -1, "Touche +" + Chr(10) + "Ajouter à la bibliothèque")
    AddGadgetItem(#EditeurCommande, -1, "Touche Echap" + Chr(10) + "Quitter")
    AddGadgetItem(#EditeurCommande, -1, "")
    AddGadgetItem(#EditeurCommande, -1, "Mode Plein Ecran")
    AddGadgetItem(#EditeurCommande, -1, "Touche Espace" + Chr(10) + "Pause\Reprendre")
    AddGadgetItem(#EditeurCommande, -1, "Touche Echap" + Chr(10) + "Quitter Mode Plein Ecran")
    SetGadgetColor(#editeurcommande, #PB_Gadget_LineColor, $0000)
EndProcedure
  
Procedure.s Propos()
  OpenWindow(#propos, 10, 10, 200, 150, "Credits", #PB_Window_WindowCentered | #PB_Window_TitleBar)
  SetWindowColor(#propos, $0000)
    ImageGadget(#propos, 0, 0, 200, 150, CatchImage(#logonerdz, ?logonerdz))
  StickyWindow(#Propos, 1)
  ButtonGadget(#closepropos, 60, 120, 80, 25, "Fermer")
  TextGadget(#Textpropos, 40, 15, 120, 20, "   Nerdz Media Player", #PB_Editor_ReadOnly)
  EditorGadget(#editeur, 20, 50, 160, 60, #PB_Editor_ReadOnly | #PB_Text_Center)
  info$ = "Auteur: ROGER David" + #LF$
  info$ + "Crée le: 26 mars 2011" + #LF$
  info$ + "Version: 2.0"+#LF$
  SetGadgetText(#editeur,info$)
EndProcedure

 
  
If OpenWindow(#Fenetre, 50, 50, 1000, 620, "Nerdz Media Player", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_TitleBar | #PB_Window_MinimizeGadget)
  Volume = TrackBarGadget(#B_Volume, 200, 33, 590, 30, 0, 100)
  SetGadgetState(#B_volume, 50)
  ButtonImageGadget(#b_play, 238, 95, 70, 50, CatchImage(#logoplay, ?logoplay))
  ButtonImageGadget(#b_stop, 508, 95, 70, 50, CatchImage(#logostop, ?logostop))
  ButtonImageGadget(#b_pause, 328, 95, 70, 50, CatchImage(#logopause, ?logopause))
  ButtonImageGadget(#b_charger, 598, 95, 70, 50, CatchImage(#logoadd, ?logoadd))
  ButtonImageGadget(#plein_ecran, 688, 95, 70, 50, CatchImage(#logofullscreen, ?logofullscreen))
  ButtonImageGadget(#B_resume, 418, 95, 70, 50, CatchImage(#logoresume, ?logoresume))
  ListViewGadget(#liste ,150, 200, 690, 360)
  SetGadgetColor(#liste, #PB_Gadget_BackColor, $0000)
  SetGadgetColor(#liste, #PB_Gadget_FrontColor, $FFFF)
  DisableGadget(#B_pause, 1)
  DisableGadget(#B_play, 1)
  DisableGadget(#B_resume, 1)
  DisableGadget(#B_stop, 1)
  DisableGadget(#B_volume, 1)
  DisableGadget(#plein_ecran, 1)
  StringGadget(#nomradio, 25, 220, 80, 20, "", #PB_String_ReadOnly)
  SetGadgetColor(#nomradio, #PB_Gadget_BackColor, $0000)
  SetGadgetColor(#nomradio, #PB_Gadget_FrontColor, $FFFF)
  ButtonImageGadget(#nrj, 15, 250, 100, 45, CatchImage(#logonrj, ?logonrj))
  ButtonImageGadget(#funradio, 15, 300, 100, 45, CatchImage(#logofunradio, ?logofunradio))
  ButtonImageGadget(#virgin, 15, 350, 100, 45, CatchImage(#logovirgin, ?logovirgin))
  ButtonImageGadget(#nostalgie, 15, 400, 100 , 45, CatchImage(#logonostalgie, ?logonostalgie))
  ButtonImageGadget(#RadioContact, 15, 450, 100, 45, CatchImage(#logoradiocontact, ?logoradiocontact))
  WebGadget(#radio, 0, 0, 1, 1, radio$, #PB_Web_Mozilla)
  ButtonImageGadget(#stopradio, 30, 505, 70, 50, CatchImage(#logostopradio, ?logostopradio))
  SetGadgetFont(#PB_Default, #PB_Default)
  StringGadget(#encours, 400, 160, 190, 20, "", #PB_String_ReadOnly)
  SetGadgetColor(#encours, #PB_Gadget_BackColor, $0000)
  SetGadgetColor(#encours, #PB_Gadget_FrontColor, $FFFF)
  ImageGadget(#fenetre, -20, -15, 1000, 620, CatchImage(#logotitre, ?logotitre))
  

  AddKeyboardShortcut(#fenetre, #PB_Shortcut_Return,#entree)
  AddKeyboardShortcut(#fenetre, #PB_Shortcut_Space, #espace)
  AddKeyboardShortcut(#fenetre, #PB_Shortcut_F, #fullscreen)
  AddKeyboardShortcut(#fenetre, #PB_Shortcut_Add, #add)
  AddKeyboardShortcut(#fenetre, #PB_Shortcut_S, #stop)
  AddKeyboardShortcut(#fenetre, #PB_Shortcut_Escape, #echap)
  
  If CreateMenu(0, WindowID(0))
  MenuTitle("Fichier")
  MenuItem(#menuadd, "Ajouter à la playlist")
  MenuBar()
  MenuItem(#Menuquit, "Quitter" + Chr(9) + "Echap")
  
  MenuTitle("Affichage")
  MenuItem(#Menutheme, "Thèmes")
  MenuItem(#menusupptheme, "Supprimer le thème")
  
  MenuTitle("?")
  MenuItem(#menucommandes, "Commandes")
  MenuItem(#menupropos, "A propos de...")
  
  EndIf

EndIf

nrj$ = "http://player.nrj.fr/V4/nrj/webradios/player_V2.html?webradio=nrj&version=maxi"
funradio$ = "http://radiozed.com/radio.php?r=10"
virginradio$ = "http://radiozed.com/radio.php?r=17"
nostalgie$ = "http://radiozed.com/radio.php?r=9"
Radiocontact$ = "http://player.radiocontact.be/player/"
Stopradio$ = "http://www.google.fr/firefox?client=firefox-a&rls=org.mozilla:fr:official"

Repeat
    
  Select WaitWindowEvent()
    Case #PB_Event_Gadget
      Select EventGadget()
          
        Case #nrj : SetGadgetText(#Radio, nrj$)
          SetGadgetText(#nomradio, "NRJ")
        Case #Funradio : SetGadgetText(#Radio, funradio$)
          SetGadgetText(#nomradio, "Fun Radio")
        Case #virgin : SetGadgetText(#Radio, virginradio$)
          SetGadgetText(#nomradio, "Virgin Radio")
        Case #Nostalgie : SetGadgetText(#Radio, nostalgie$)
          SetGadgetText(#nomradio, "Nostalgie")
        Case #RadioContact : SetGadgetText(#Radio, radiocontact$)
          SetGadgetText(#nomradio, "Radio Contact")
        Case #stopradio : SetGadgetText(#Radio, stopradio$)
          SetGadgetText(#nomradio, "")
        Case #b_charger : Charger()
        Case #b_play : Lecture()
        Case #b_stop : Arreter()
        Case #b_pause : Pause()
        Case #B_resume : Resume()
        Case #plein_ecran : Fullscreen()
        Case #B_volume : Volume = GetGadgetState(#B_volume)
          MovieAudio(#Movie, Volume, 0)
        Case #propos : propos()
        Case #Closepropos : CloseWindow(#propos)
        Case #Suppmedia : lecture()
        Case #closecommande : CloseWindow(#commande)
        Case #liste
          If EventType() = #PB_EventType_LeftDoubleClick
            Lecture()
          EndIf
          
       EndSelect
      
       Case #PB_Event_Menu
         Select EventGadget()
             
           Case #quitt : HideWindow(#pleinecran,1)
           Case #Pause
             If PlayOnOff=#False
            PlayOnOff=#True
            PauseMovie(#movie)
            PauseMovie(#movieecran)
          Else
            PlayOnOff=#False
            ResumeMovie(#movie)
            ResumeMovie(#Movieecran)
          EndIf
           Case #menuquit : quit = 1
           Case #menuadd : charger()
           Case #menupropos : Propos()
           Case #menutheme : theme()
           Case #Menusupptheme : supptheme()
           Case #jouer : Lecture()
           Case #entree : Lecture()
           Case #menucommandes : Commandes()
           Case #echap : quit = 1
           Case #espace
             If PlayOnOff=#False
            PlayOnOff=#True
            Pause()
          Else
            PlayOnOff=#False
            Resume()
          EndIf
           Case #fullscreen : fullscreen()
           Case #add : charger()
           Case #stop : arreter()
             
         EndSelect
       
    Case #PB_Event_CloseWindow
      Fermer=#True
          If IsMovie(#movie)
        FreeMovie(#movie)
      EndIf  
  EndSelect
  
Until fermer Or quit = 1
End

Je n'ai pas tout revérifié donc il y a peut-être des trucs inutiles car j'ajoute et je supprime souvent.
Il y a un problème avec les thèmes dans Affichage.
Après avoir lancé une vidéo ou une musique, quand je veux changer de thèmes, le prg devient gris.
Mais cela fonctionne avant que je le lance.