Small Mediacenter
Verfasst: 25.12.2013 13:16
Hallo Leute,
ein frohes Fest, wollte mir schnell mal eine Small Mediacenter programmieren!
Nun wie im Codec seht läuft es ja!
Wenn ich jedoch den Windows Media Player über meine Fernbedienung + ESC-Taste beenden möchte, habe ich keine Ahnung wie ich das sende!
PS: Habe Code noch lesbarer gemacht!
Gruss ... Velindos
ein frohes Fest, wollte mir schnell mal eine Small Mediacenter programmieren!
Nun wie im Codec seht läuft es ja!
Wenn ich jedoch den Windows Media Player über meine Fernbedienung + ESC-Taste beenden möchte, habe ich keine Ahnung wie ich das sende!
PS: Habe Code noch lesbarer gemacht!
Code: Alles auswählen
; Purebasic Small MediaCenter Bedienung
; Taste1(Movie), Taste(TV), Taste3(Clips), Taste 4(OFF)
; WIndows Media Player mit Vollbildmodus ... ALT+EINGABETASTE, Beenden ALT+F4
; Bedienung über Fernbedienung Harmony 300
; Es fehlt noch ENTER nach Focus von Button
EnableExplicit
ExamineDesktops()
;-Constanten
Enumeration
#PresentParentWindow
#PresentChildWindow_0
#MovieCenter_01
#MovieCenter_02
#MovieCenter_03
#MovieCenter_04
#Movie
#TastenDruckPfeilTasteLinks
#TastenDruckPfeilTasteRechts
#TastenDruckESC
EndEnumeration
Global MovieDateiname$= "F:\Videos\MyMovies\Test.flv"
OpenWindow(#PresentParentWindow,0,0,DesktopWidth(#PresentParentWindow),DesktopHeight(#PresentParentWindow),"Snipping Test",#PB_Window_BorderLess );#PB_Window_Invisible
ButtonGadget(#MovieCenter_01, 130,300,200,200, "MOVIE")
ButtonGadget(#MovieCenter_02, 430,300,200,200, "TV")
ButtonGadget(#MovieCenter_03, 730,300,200,200,"CLIP")
ButtonGadget(#MovieCenter_04, 1030,300,200,200,"OFF")
AddKeyboardShortcut(#PresentParentWindow, #PB_Shortcut_Left, #TastenDruckPfeilTasteLinks) ; Pfeil Links einschalten
AddKeyboardShortcut(#PresentParentWindow, #PB_Shortcut_Right, #TastenDruckPfeilTasteRechts) ; Pfeil Rechts einschalten
AddKeyboardShortcut(#PresentParentWindow, #PB_Shortcut_Escape, #TastenDruckESC) ; Escape einschalten
Global MediaButtonFocus =1
SetGadgetText(#MovieCenter_01, " >> MOVIE <<")
SetActiveGadget(#MovieCenter_01)
;-REPEAT
Define EventID, lEvent, hWnd, Key.l
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #PB_Event_CloseWindow
End; Sollte "Herunterfahren des PC´s" sein, keine Ahnung wie!!
;- GADGET
Case #PB_Event_Gadget
Select EventGadget()
Case #MovieCenter_01 ; Movie ansehen, Pfad wird vorgegeben
MediaButtonFocus = 1 ; Für Buttonsteuerung per Fernsteuerung
MovieDateiname$ = OpenFileRequester("bla", "bla", "", 0)
; Sende an Windows MediaPlayer ALT+EINGABETASTE
RunProgram("C:\Program Files (x86)\Windows Media Player\wmplayer.exe",Chr(34)+ MovieDateiname$ +Chr(34),"", #PB_Program_Wait|#PB_Program_Open );
; Jetzt mit ALT+F4 Beenden, Problem das Fenster hat nicht den Focus
Case #MovieCenter_02 ; TV
MediaButtonFocus = 2 ; Für Buttonsteuerung per Fernsteuerung
RunProgram("explorer.exe ",Chr(34)+"C:\Program Files (x86)\DVBViewer\dvbviewer.exe"+Chr(34),"");#PB_Program_Wait
Case #MovieCenter_03 ; CLIP sollte über PB Player laufen, funzt aber nicht!!!!!!!!!!!!!!!!
MediaButtonFocus = 3 ; Für Buttonsteuerung per Fernsteuerung
MovieDateiname$ = OpenFileRequester("bla", "bla", "", 0)
; LoadMovie(#Movie, MovieDateiname$) ; Funzt nicht
; PlayMovie(#Movie, WindowID) ; Funzt nicht
; ID = ScreenID(); Funzt nicht
Case #MovieCenter_04 ; OFF
MediaButtonFocus = 4 ; Für Buttonsteuerung per Fernsteuerung
End
EndSelect
Case #PB_Event_Menu ; <<< Ereigniss am Menu
Select EventMenu()
Case #TastenDruckPfeilTasteLinks ; < Tastatur
Debug "PfeilTasteLinks"
If MediaButtonFocus = 1
SetGadgetText(#MovieCenter_01, "MOVIE")
SetGadgetText(#MovieCenter_04, " >> OFF <<")
SetActiveGadget(#MovieCenter_04)
MediaButtonFocus = 4
ElseIf MediaButtonFocus = 4
SetGadgetText(#MovieCenter_04, "OFF")
SetGadgetText(#MovieCenter_03, " >> CLIP <<")
SetActiveGadget(#MovieCenter_03)
MediaButtonFocus = 3
ElseIf MediaButtonFocus = 3
SetGadgetText(#MovieCenter_03, "CLIP")
SetGadgetText(#MovieCenter_02, " >> TV <<")
SetActiveGadget(#MovieCenter_02)
MediaButtonFocus = 2
ElseIf MediaButtonFocus = 2
SetGadgetText(#MovieCenter_02, "TV")
SetGadgetText(#MovieCenter_01, " >> MOVIE <<")
SetActiveGadget(#MovieCenter_01)
MediaButtonFocus = 1
EndIf
Case #TastenDruckPfeilTasteRechts ; > Tastatur
Debug "PfeilTasteRechts"
If MediaButtonFocus = 1
SetGadgetText(#MovieCenter_01, "MOVIE")
SetGadgetText(#MovieCenter_02, " >> TV <<")
SetActiveGadget(#MovieCenter_02)
MediaButtonFocus = 2
ElseIf MediaButtonFocus = 2
SetGadgetText(#MovieCenter_02, "TV")
SetGadgetText(#MovieCenter_03," >> CLIP <<")
SetActiveGadget(#MovieCenter_03)
MediaButtonFocus = 3
ElseIf MediaButtonFocus = 3
SetGadgetText(#MovieCenter_03, "CLIP")
SetGadgetText(#MovieCenter_04, " >> OFF <<")
SetActiveGadget(#MovieCenter_04)
MediaButtonFocus = 4
ElseIf MediaButtonFocus = 4
SetGadgetText(#MovieCenter_04, "OFF")
SetGadgetText(#MovieCenter_01, " >> MOVIE <<")
SetActiveGadget(#MovieCenter_01)
MediaButtonFocus = 1
EndIf
Case #TastenDruckESC
Debug "ESC"
EndSelect
Case #WM_KEYUP ; Fernbedienung
; ; Debug "#KEYUP: " + Str(EventwParam())
Key.l = EventwParam()
Select KEY
Case 13
If MediaButtonFocus = 1
Debug "Movie ENTER"
ElseIf MediaButtonFocus = 2
Debug "TV ENTER"
ElseIf MediaButtonFocus = 3
Debug "Clip ENTER"
ElseIf MediaButtonFocus = 4
Debug "Off ENTER"
EndIf
Case 27 ; ESC => Velindos ENDE
Debug "ESC"
; End
;Das Problem, das Windows hat den Focus
; ????
;Send_Key ALT_F4 < =================================
EndSelect
EndSelect
ForEver