Movieplayerproblem

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
C4rizz
Beiträge: 223
Registriert: 01.05.2006 12:43
Computerausstattung: Desktop : Amd Athlon X2 3,2 ghz Black Edition. 4GB Corsair XMS DDR2, nVidia 460 gtx Sonic Extreme

Notebook : [Asus] i5 @ 2,9 ghz, 8GB Corsair DDR3, nVidia gt 540m

Internet : DSL - 16 Mbit | HSDPA - 7,2 Mbit
Wohnort: Celle

Movieplayerproblem

Beitrag von C4rizz »

Hi
Hab in der netten Purebasichilfe einen Code gefunden und will ihn ein wenig verändern.
Hier erstmal der Code

Code: Alles auswählen

If InitMovie() = 0
  MessageRequester("Error","Ladefehler",0) 
  End
EndIf

MovieName$ = OpenFileRequester("Bitte Film auswählen","","Movie/Audio files|*.avi;*.mpg;*.asf;*.wav|All Files|*.*", 0)
If MovieName$
  If LoadMovie(0, MovieName$)
  
    OpenWindow(0, 100, 150, MovieWidth(), MovieHeight(),#PB_Window_BorderLess,"player")
    PlayMovie(0, WindowID())
      
    Repeat
    Until quit = 1
  Else
    MessageRequester("Error", "Ladefehler", 0)
  EndIf
EndIf 
Is schon ein bischen verändert aber egal.
Mein Problem:
Was kann ich tun damit der Benutzer nicht selbst einen Film auswählen kann,sondern schon ein Film vorgegeben ist,der dann gleich beim starten des Player's abläuft.

Noch was:
Wieso kann ich den Player nicht mehr beenden?
Irgendwie funzt das nicht mehr,nachdem ich die Ränder weggemacht habe. :cry:
PB 3.94/4.10
Meine Hompage
Jilocasin
Beiträge: 665
Registriert: 13.05.2006 16:04
Kontaktdaten:

Beitrag von Jilocasin »

Tach!
Der "OpenFileRequester()" gibt ja die gewünschte Datei zurück. Du musst ihn einfach nur durch den Dateinamen ersetzten.

Code: Alles auswählen

MovieName$ = "DEINEDATEI"


Du kannst deshalb den Player nicht mehr beenden:

Code: Alles auswählen

Repeat
Until quit = 1 
Das ist eine Endlosschleife, da "quit" nie den Wert "1" erreichen kann.
so würde es funktionieren:

Code: Alles auswählen

 
Repeat
  EventID = WaitWindowEvent()
  If EventID = #pb_event_closewindow
    Quit = 1
  Endif
Until Quit = 1
Du müsstest allerdings die "Ränder" besser wieder dranmachen, da du sonst kein Schließen-Button hast! :lol: :allright:
Bild
Benutzeravatar
C4rizz
Beiträge: 223
Registriert: 01.05.2006 12:43
Computerausstattung: Desktop : Amd Athlon X2 3,2 ghz Black Edition. 4GB Corsair XMS DDR2, nVidia 460 gtx Sonic Extreme

Notebook : [Asus] i5 @ 2,9 ghz, 8GB Corsair DDR3, nVidia gt 540m

Internet : DSL - 16 Mbit | HSDPA - 7,2 Mbit
Wohnort: Celle

Beitrag von C4rizz »

Danke für die Hilfe, aber irgendwie will das immer noch nich klappen.
Kannst du vieleicht mal den fertigen Code schreiben?
Danke.
PB 3.94/4.10
Meine Hompage
Jilocasin
Beiträge: 665
Registriert: 13.05.2006 16:04
Kontaktdaten:

Beitrag von Jilocasin »

Ei natürlich!

So müsste es gehen:

Code: Alles auswählen

If InitMovie() = 0
  MessageRequester("Error", "Ladefehler", 16) ; "16" gibt einen Fehler-Requester
  End
EndIf

;MovieName$ = OpenFileRequester("Bitte Film auswählen","","Movie/Audio files|*.avi;*.mpg;*.asf;*.wav|All Files|*.*", 0)
; oder
MovieName$ = "C:\BLABLABLA" ; Deine Datei (voller Dateiname)

If MovieName$
  If LoadMovie(0, MovieName$)
 
    OpenWindow(0, 100, 150, MovieWidth(0), MovieHeight(0),#PB_Window_SystemMenu,"Player")
    PlayMovie(0, WindowID(0))
     
    Repeat
      EventID = WindowEvent()
      Delay(0) ; Um nicht die CPU zu überlasten
    Until EventID = #PB_Event_CloseWindow ; Bis man das Fenster schließt
    End
  Else
    MessageRequester("Error", "Ladefehler", 16)
  EndIf
EndIf 
Bild
Benutzeravatar
C4rizz
Beiträge: 223
Registriert: 01.05.2006 12:43
Computerausstattung: Desktop : Amd Athlon X2 3,2 ghz Black Edition. 4GB Corsair XMS DDR2, nVidia 460 gtx Sonic Extreme

Notebook : [Asus] i5 @ 2,9 ghz, 8GB Corsair DDR3, nVidia gt 540m

Internet : DSL - 16 Mbit | HSDPA - 7,2 Mbit
Wohnort: Celle

Beitrag von C4rizz »

Ich probiers gleich aus, danke.
PB 3.94/4.10
Meine Hompage
Antworten