Small Mediacenter

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Velindos
Beiträge: 598
Registriert: 15.11.2010 10:56

Re: Small Mediacenter

Beitrag von Velindos »

Hallo Leute,
habe die Sache wie folgt gelöst! Wenn ich Stop drücke endet der Movie und mit Aufruf startet das übergebene Movie. Muss die Sache noch ins Small MediaCenter integrieren, ansonsten läuft´s. Danke für eure Tips und würde mich über Verbesserungen und Anregungen freuen!

Code: Alles auswählen

EnableExplicit

ExamineDesktops()

Enumeration
  #PresentParent    
  #PresentChild
  
  #MediaGadget
  
  
  #APPCOMMAND_VOLUME_MUTE = 8
  #APPCOMMAND_VOLUME_DOWN
  #APPCOMMAND_VOLUME_UP
  #APPCOMMAND_MEDIA_NEXTTRACK
  #APPCOMMAND_MEDIA_PREVIOUSTRACK
  #APPCOMMAND_MEDIA_STOP
  #APPCOMMAND_MEDIA_PLAY_PAUSE
  #APPCOMMAND_MEDIA_PLAY = 46
  #APPCOMMAND_MEDIA_PAUSE
  #APPCOMMAND_MEDIA_RECORD
  #APPCOMMAND_MEDIA_FAST_FORWARD
  #APPCOMMAND_MEDIA_REWIND
  #APPCOMMAND_MEDIA_CHANNEL_UP
  #APPCOMMAND_MEDIA_CHANNEL_DOWN
EndEnumeration

Global   Hwd
Global MediaString$

Procedure MediaStreamerImWebGadget()
;   <Select name=selecta size=1 id=musica onchange=document.all.playera.Filename=document.all.musica.value;>
; <OPTION selected>::::::::: Choose Your Media Sample Here :::::::::</OPTION>
; <OPTION value="Stream URL or Full File Path Goes Here">My Video File </OPTION>
; <OPTION value="Stream URL or Full File Path Goes Here">My Audio File</OPTION>
; <OPTION value="Stream URL or Full File Path Goes Here">My Live Stream</OPTION>
; </Select>
; tmedia + "<OPTION value='"+MediaString$+"'>My Video File </fullscreen>"
; <BR> 
  MediaString$="F:\Videos\MyTrailer\Der Wolkenatlas\HD-Trailer Der Wolkenatlas.mp4"
    ; "path to WMP" "path to file" /fullscreen

  Define tmedia.s
  tmedia = " <body  topmargin=0 leftmargin=0 scroll='no'>"
  tmedia + "<OBJECT id='Player' width='100%' height='100%"
  tmedia + "'CLASSID='clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6'>"
  tmedia + "<PARAM name='Url' "
  
  ;tmedia + "'F:\Videos\Aufnahmen\Aufnahme0001.avi'>"
  tmedia + "Value="
  tmedia + "'"+MediaString$+"'"


  tmedia + "name='mediaPlayer ' displaysize='4' autosize='-1' "
  tmedia + "bgcolor='darkblue' showControls='false'"
  tmedia + "<OBJECT id=playera height=100% width=100% classid=clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95>"
  tmedia + "<PARAM NAME='AutoStart' VALUE='True'>"
  tmedia + "<PARAM NAME='Balance' VALUE='False'>"
  tmedia + "<PARAM NAME='DisplaySize' VALUE='True'>"
  tmedia + "<PARAM NAME='Filename' VALUE=''>"
  tmedia + "<PARAM NAME='Mute' VALUE='False'>"
  tmedia + "<PARAM NAME='SelectionStart' VALUE='False'>"
  tmedia + "<PARAM NAME='SelectionEnd' VALUE='False'>"
  tmedia + "<PARAM NAME='ShowControls' VALUE='True'>"
  tmedia + "<PARAM NAME='ShowAudioControls' VALUE='True'>"
  tmedia + "<PARAM NAME='ShowDisplay' VALUE='False'>"
  tmedia + "<PARAM NAME='ShowPositionControls' VALUE='False'>"
  tmedia + "<PARAM NAME='Volume' VALUE='1'>"
  tmedia + "<PARAM NAME='AudioStream' VALUE='False'>"
  tmedia + "<PARAM NAME='AutoSize' VALUE='False'>"
  tmedia + "<PARAM NAME='AnimationAtStart' VALUE='False'>"
  tmedia + "<PARAM NAME='AllowScan' VALUE='False'>"
  tmedia + "<PARAM NAME='AllowChangeDisplaySize' VALUE='False'>"
  tmedia + "<PARAM NAME='AutoRewind' VALUE='True'>"
  tmedia + "<PARAM NAME='BaseURL' VALUE=''>"
  tmedia + "<PARAM NAME='BufferingTime' VALUE='5'>"
  tmedia + "<PARAM NAME='CaptioningID' VALUE=''>"
  tmedia + "<PARAM NAME='ClickToPlay' VALUE='True'>"
  tmedia + "<PARAM NAME='CursorType' VALUE='0'>"
  tmedia + "<PARAM NAME='CurrentPosition' VALUE='True'>"
  tmedia + "<PARAM NAME='CurrentMarker' VALUE='True'>"
  tmedia + "<PARAM NAME='DefaultFrame' VALUE='mainframe'>"
  tmedia + "<PARAM NAME='DisplayBackColor' VALUE='True'>"
  tmedia + "<PARAM NAME='DisplayForeColor' VALUE='16777215'>"
  tmedia + "<PARAM NAME='DisplayMode' VALUE='1'>"
  tmedia + "<PARAM NAME='Enabled' VALUE='-1'>"
  tmedia + "<PARAM NAME='EnableContextMenu' VALUE='False'>"
  tmedia + "<PARAM NAME='EnablePositionControls' VALUE='False'>"
  tmedia + "<PARAM NAME='EnableFullScreenControls' VALUE='False'>"
;   tmedia + "<PARAM NAME='EnableFullScreen' VALUE='False'>"
tmedia + "<PARAM NAME='fullScreen' VALUE='True'>"
  tmedia + "<PARAM NAME='InvokeURLs' VALUE='True'>"
  tmedia + "<PARAM NAME='EnableTracker' VALUE='False'>"
  tmedia + "<PARAM NAME='Language' VALUE='False'>"
  tmedia + "<PARAM NAME='PlayCount' VALUE='1'>"
  tmedia + "<PARAM NAME='PreviewMode' VALUE='False'>"
  tmedia + "<PARAM NAME='ShowStatusBar' VALUE='True'>"
  tmedia + "<PARAM NAME='TransparentAtStart' VALUE='False'>"
  tmedia + "</OBJECT>"
  SetGadgetItemText(#MediaGadget, #PB_Web_HtmlCode , tmedia)
EndProcedure

Procedure WinCB(hWnd, uMsg, wParam, lParam)
  Protected Result = #PB_ProcessPureBasicEvents
  Protected text.s
  
  Select uMsg
    Case #WM_APPCOMMAND
      Select (lParam >> 16) & $FFFF
        Case #APPCOMMAND_VOLUME_MUTE
          text = "Volume_Mute"
        Case #APPCOMMAND_VOLUME_DOWN
          text = "Volume_Down"
        Case #APPCOMMAND_VOLUME_UP
          text = "Volume_Up"
        Case #APPCOMMAND_MEDIA_NEXTTRACK
          text = "Media_NextTrack"
        Case #APPCOMMAND_MEDIA_PREVIOUSTRACK
          text = "Media_PreviousTrack"
        Case #APPCOMMAND_MEDIA_STOP
          End
          text = "Media_Stop"
        Case #APPCOMMAND_MEDIA_PLAY_PAUSE
          text = "Media_Play_Pause"
        Case #APPCOMMAND_MEDIA_RECORD
          text = "Media_Record"
        Case #APPCOMMAND_MEDIA_PLAY
          text = "Media_Play"
        Case #APPCOMMAND_MEDIA_FAST_FORWARD
          text = "Media_Fast_Forward"
        Case #APPCOMMAND_MEDIA_REWIND
          text = "Media_Rewind"
        Case #APPCOMMAND_MEDIA_CHANNEL_DOWN
          text = "Media_Channel_Down"
        Case #APPCOMMAND_MEDIA_CHANNEL_UP
          text = "Media_Channel_Up"
      EndSelect
      Debug text
      ProcedureReturn #True; ansonsten geht die Message weiter und weitere Player reagieren ;)
  EndSelect
  ProcedureReturn Result
EndProcedure
OpenWindow(#PresentParent,0,0,DesktopWidth(0),DesktopHeight(0),"Snipping Test",#PB_Window_Invisible)
OpenWindow(#PresentChild,0,0,DesktopWidth(0),DesktopHeight(0),"Snipping Test",#PB_Window_BorderLess|#PB_Window_Invisible,GetDesktopWindow_())

; OpenWindow(0, #PB_Ignore, #PB_Ignore, DesktopWidth(0), DesktopHeight(0), "")
Hwd = WebGadget(#MediaGadget, 0, 0, DesktopWidth(0), DesktopHeight(0),"" )

HideWindow(#PresentParent,1)
HideWindow(#PresentChild,0)


SetWindowCallback(@WinCB())

MediaStreamerImWebGadget()

Define Key.l
Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow : Break
    Case #WM_KEYUP
      Debug "#KEYUP:   " + Str(EventwParam())
      Key.l = EventwParam()
      Select KEY
        Case 27   ; ESC => Velindos ENDE
;           CloseWindow(#PresentChild)
;           End
      EndSelect
      
  EndSelect
ForEver
Gruss ... Velindos
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Antworten