Volume??

Anfängerfragen zum Programmieren mit PureBasic.
Svking
Beiträge: 48
Registriert: 23.09.2005 15:19
Kontaktdaten:

Volume??

Beitrag von Svking »

Hallo
Ich habe einmal ein Musik und Video Player geschrieben
nur weis ich nicht
1. wie man einen Volume balken reinbaut
2. wie man den geladenen Dateinamen anzeigen lässt
und 3. wie man einen balken baut, der anzeigt, an welcher Stelle die Musik / Video gerade ist.

kann mir vieleicht einer Helfen?
(das ist mein erstes Programm)

Mein Code:

Code: Alles auswählen

If InitMovie()= 0
  MessageRequester("Fehler","Konnte Dx nicht finden",0)
EndIf


Enumeration
  #ButtonImage_0
EndEnumeration


Global Image0


Image0 = CatchImage(0, ?Image0)


DataSection
Image0:  
IncludeBinary "data\sv.bmp"
EndDataSection

  OpenWindow(1,200,200,300,120,#PB_Window_SystemMenu,"Sv Player") 
      CreateGadgetList(WindowID()) 
      ButtonImageGadget(#ButtonImage_0, 0, 0, 300, 39, Image0)
      ButtonGadget(1,0, 40, 150, 20,"öffnen") 
      ButtonGadget(2,150, 40, 150, 20,"Abspielen") 
      ButtonGadget(4,0, 60, 300, 20,"Stop")
      ButtonGadget(3,0, 80, 300, 20,"Beenden")
      TrackBarGadget(5,80,100,150,18,0,256)  
           Repeat 
      Select WaitWindowEvent() 
         Case #PB_EventCloseWindow 
        End
         Case #PB_EventGadget 
              Select EventGadgetID() 
                 Case 0
                     MessageRequester("Info","copyright by Sven Schober")
                 Case 1 
                     File$ = OpenFileRequester("Choose music","","SvPlayer - MOV,AVI,MPEG,MPG,WAV,MP3,WMV  | *.mov;*.avi;*.mpeg;*.mpg;*.wav;*.wmv;*.mp3;*.3gp;",0) 
                 Case 2 
                     LoadMovie(1,File$)
                     PlayMovie(1,0)
                 Case 3 
                 End 
                 Case 4
                 PauseMovie()
                Case 5
                      current_volume = GetGadgetState(4) 
                 
                 EndSelect 
              SetFocus_(WindowID()) 
      EndSelect 
   ForEver 
Das Ende meines Lebens:
If leben = 0
End
Endif
Benutzeravatar
benpicco
Beiträge: 391
Registriert: 01.10.2004 15:32
Wohnort: im Code
Kontaktdaten:

Beitrag von benpicco »

zu 1.: Du hast doch schon einen, der Befehl den du suchst heißt wohl MovieAudio(current_volume,balance) (unter current_volume = GetGadgetState(5) einsetzen (das soll sicher 5 heißen, nicht 4 :wink:), auch geht das volume von 0 bis 100, nicht bis 256
zu 2.: im Case 1 den text von GetFilePart(file$) mit SetGadgettext() auf ein Textgadget bringen.
zu 3.: Bei Videos ist es einfach: MovieStatus() sollte die aktuelle Position und movieLen() die gesamtlänge des Videos zurückgeben. Bei Musik ist es da schon schwieriger, dort
PB-Hilfe hat geschrieben:kann mangels vorhandener Bilder (Frames) in der Datei diese Information nicht ermittelt werden.
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
Svking
Beiträge: 48
Registriert: 23.09.2005 15:19
Kontaktdaten:

Beitrag von Svking »

sorry also ich bin noch ein totaler noob und hab das jetzt nich so ganz verstanden.

hab das jetzt so:

Code: Alles auswählen

If InitMovie()= 0
  MessageRequester("Fehler","Konnte Dx nicht finden",0)
EndIf

Enumeration
  #ButtonImage_0
EndEnumeration

vol = 50
Global Image0


Image0 = CatchImage(0, ?Image0)

Enumeration
  #Text_0
EndEnumeration

DataSection
Image0:  
IncludeBinary "data\sv.bmp"
EndDataSection



  OpenWindow(1,200,200,300,120,#PB_Window_SystemMenu,"Sv Player") 
      CreateGadgetList(WindowID()) 
      ButtonImageGadget(#ButtonImage_0, 0, 0, 300, 39, Image0)
      ButtonGadget(1,0, 40, 150, 20,"öffnen") 
      ButtonGadget(2,150, 40, 150, 20,"Abspielen") 
      ButtonGadget(4,0, 60, 300, 20,"Stop")
TrackBarGadget(5,80,80,150,18,0,100) 
      ButtonGadget(3,0, 100, 300, 20,"Beenden") 
      Repeat 
      Select WaitWindowEvent() 
         Case #PB_EventCloseWindow 
        End
         Case #PB_EventGadget 
              Select EventGadgetID() 
                 Case 0
                     MessageRequester("Info","copyright by Sven Schober | www.sv-tools.de.ms")
                 Case 1 
                     File$ = OpenFileRequester("Choose music","","SvPlayer - MOV,AVI,MPEG,MPG,WAV,MP3,WMV  | *.mov;*.avi;*.mpeg;*.mpg;*.wav;*.wmv;*.mp3;*.3gp;",0) 
                 Case 2 
                     LoadMovie(1,File$)
                     PlayMovie(1,0)
                 Case 3 
                 End 
                 Case 4
                 PauseMovie()
                 Case 5
                 current_volume = GetGadgetState(4)
                 MovieAudio(vol,0)                 
                 EndSelect 
              SetFocus_(WindowID()) 
      EndSelect 
   ForEver 
aber der regler will noch nich so richtig

wie verbinde ich die TrackBarGadget mit dem volume?
Das Ende meines Lebens:
If leben = 0
End
Endif
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Beitrag von Macros »

Ohne jetzt zu testen:

Code: Alles auswählen

If InitMovie()= 0
  MessageRequester("Fehler","Konnte Dx nicht finden",0)
EndIf

Enumeration
  #ButtonImage_0
EndEnumeration

vol = 50
Global Image0


Image0 = CatchImage(0, ?Image0)

Enumeration
  #Text_0
EndEnumeration

DataSection
Image0: 
IncludeBinary "data\sv.bmp"
EndDataSection



  OpenWindow(1,200,200,300,120,#PB_Window_SystemMenu,"Sv Player")
      CreateGadgetList(WindowID())
      ButtonImageGadget(#ButtonImage_0, 0, 0, 300, 39, Image0)
      ButtonGadget(1,0, 40, 150, 20,"öffnen")
      ButtonGadget(2,150, 40, 150, 20,"Abspielen")
      ButtonGadget(4,0, 60, 300, 20,"Stop")
TrackBarGadget(5,80,80,150,18,0,100)
      ButtonGadget(3,0, 100, 300, 20,"Beenden")
      Repeat
      Select WaitWindowEvent()
         Case #PB_EventCloseWindow
        End
         Case #PB_EventGadget
              Select EventGadgetID()
                 Case 0
                     MessageRequester("Info","copyright by Sven Schober | www.sv-tools.de.ms")
                 Case 1
                     File$ = OpenFileRequester("Choose music","","SvPlayer - MOV,AVI,MPEG,MPG,WAV,MP3,WMV  | *.mov;*.avi;*.mpeg;*.mpg;*.wav;*.wmv;*.mp3;*.3gp;",0)
                 Case 2
                     LoadMovie(1,File$)
                     PlayMovie(1,0)
                 Case 3
                 End
                 Case 4
                 PauseMovie()
                 Case 5
                 current_volume = GetGadgetState(5)
                 MovieAudio(current_volume,0)                 
                 EndSelect
              SetFocus_(WindowID())
      EndSelect
   ForEver 
Svking
Beiträge: 48
Registriert: 23.09.2005 15:19
Kontaktdaten:

Beitrag von Svking »

cool danke es geht :)

würde nur noch gerne wissen, wie ich den Texttitel auf ein textgadget betkomme. kann mir da noch einer helfen?


Sv
Das Ende meines Lebens:
If leben = 0
End
Endif
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Beitrag von Macros »

Code: Alles auswählen

setgadgettext(#Textgadget,GetFilePart(file$))
Antworten