Aktuelle Zeit: 26.05.2013 00:58

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Youtube Site über Webgadget steuern
BeitragVerfasst: 13.06.2012 15:22 
Offline
Benutzeravatar

Registriert: 15.11.2010 10:56
Hallo Leute,

möchte die Youtubesite http://www.youtube.com/xl?gl=DE&hl=de übers Webgadget steuen.

Habe aber keine Ahnung wie ich mit den Pfeiltasten und der Entertaste im Webgadget das Video anwählen und starten kann.
Mit der Maus funktioniert es ja, aber ich möchte in der angezeigten Page mittels der Tasten PFEIL(links/rechts/unten/oben), ENTER und
ESC sowie Nummern navigieren!

Weiss jemand mehr?

Code:
If OpenWindow(0, 0, 0, 1024, 768, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
   WebGadget(0, 10, 10, 1004, 748, "http://www.youtube.com/xl?gl=DE&hl=de")
   Repeat: Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf


Gruss ... Velindos

_________________
Windows7 (64-Bit) | Ubuntu 10.4 (64-Bit) | Purebasic 5.00 (64-Bit) | PureFORM 1.99 (32-Bit)


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Youtube Site über Webgadget steuern
BeitragVerfasst: 03.07.2012 16:31 
Offline
Benutzeravatar

Registriert: 23.12.2005 15:00
Wohnort: Alling (bei FFB)
Hi,

Eine Möglichkeit, das nativ von PB aus zu machen, kenne ich nicht.

Falls du unter Windows arbeitest, könntest du das Handle des Fensters herausfinden (Suche hilft weiter)
und dann Tastendrücke per http://www.purearea.net/pb/CodeArchiv/I ... endKeys.pb
senden. Einfacher wäre es wohl noch, die Maus zu nutzen. Beispiele dafür findest du auch im Codearchiv.

Falls du unter Linux arbeitest, nutze doch das Tool Youtube-dl um die gesuchten Videos gleich herunterzuladen und spiele sie selbst ab.

Wenn dir die Lösungen nicht gefallen, sag uns doch konkret, was du vorhast.

_________________
Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Youtube Site über Webgadget steuern
BeitragVerfasst: 04.07.2012 10:54 
Offline
Benutzeravatar

Registriert: 29.08.2008 09:13
Wohnort: hinterm Mond
Ohne das ich mir den HTML-Text angeschaut habe :
vielleicht hilft das: http://www.purebasic.fr/german/viewtopic.php?f=8&t=20274

_________________
Win7 32Bit / PB 4.41 / PB 4.51


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Youtube Site über Webgadget steuern
BeitragVerfasst: 05.07.2012 07:50 
Offline
Benutzeravatar

Registriert: 15.11.2010 10:56
Hallo,
Danke für die Tips. Eure Frage

Zitat:
Wenn dir die Lösungen nicht gefallen, sag uns doch konkret, was du vorhast.


Habe mir XBMC installiert. Dann habe ich nach einen brauchbaren IE den man mit einer Fernbedienung bedienen kann, gesucht. War mit keinen zufrieden, da kam mir die Idee innerhalb Purebasic eine einfachen IE zu schreiben den ich mit der Fernbedienung bedienen kann. Bei der Fernbedienung gehe ich von einer die Tasturkompatible ist aus. Diese spreche ich mit folgenden Codec an.

Code:
If OpenWindow(0, 0, 0, 1024, 768, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
   WebGadget(0, 10, 10, 1004, 748, "http://www.youtube.com/xl?gl=DE&hl=de")
   Debug "Bitte drücken sie eine beliebige Taste!"
Repeat
      Select WaitWindowEvent()
      Case #WM_CHAR
            Debug "#CHAR:    " + Str(EventwParam())
      Case #WM_KEYDOWN
            Debug "#KEYDOWN: " + Str(EventwParam())
      Case #WM_KEYUP
            Debug "#KEYUP:   " + Str(EventwParam())
      Case #WM_DEADCHAR
            Debug "#DEADCHAR:   " + Str(EventwParam())
      Case #WM_SYSCHAR
            Debug "#SYSCHAR:   " + Str(EventwParam())
      Case       #WM_SYSKEYDOWN
            Debug "#SYSKEYDOWN:   " + Str(EventwParam())
      Case       #WM_SYSKEYUP
            Debug "#SYSKEYUP:   " + Str(EventwParam())
      EndSelect


  Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf


Nun möchte ich innerhalb des WebGadget navigieren, sprich über die Tastatur und die Fernbedienung(liege auf dem Sofa), Ziel ist ein Minibrowser mit
Start / Ende
Seite Vor/Zurück
Favoritenauswahl über Button
Navigieren innerhalb des Webgadget(Film/Music/Movie Anwahl, Wiedergabe, Stop, Return)

Nebenbei, dass ist eine interessante Sache, weil es nichts gibt was man brauchen kann.

Zu dem Codec der Tastatur kompatiblen Fernbedienung wäre noch zu erwähnen das ich nicht alle Tasten erwische. habe mich also auf die Tasten Links/Rechts/Oben/Unten/Enter/Zurück/ESC beschränkt.
Obwohl die Tasten(Play etc) im MediaCenter funktionieren, komme ich nicht an den Codec der FarbenTasten.

Gruss ... Velindos

_________________
Windows7 (64-Bit) | Ubuntu 10.4 (64-Bit) | Purebasic 5.00 (64-Bit) | PureFORM 1.99 (32-Bit)


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Youtube Site über Webgadget steuern
BeitragVerfasst: 05.07.2012 08:13 
Offline
Benutzeravatar

Registriert: 23.12.2005 15:00
Wohnort: Alling (bei FFB)
Hey, das eröffnet gleich ganz neue Möglichkei[*][*]ten

Zunächst einmal:
Für XBMC gibt es ein (miserables aber funktionales) Webbrowser Plugin, sowie *hust* xStream *hust* damit könntest du dein Problem wahrscheinlich lösen. Aber wer will das schon, programmieren ist viel toller ;)

Ideen, die mir nun noch kommen:
  • Du könntest die Pfeiltasten verwenden um den Cursor zu verschieben, eventuell togglebar über eine Zahl.
    Klicken durch Enter.
  • Du könntest Tabulatur auch noch abfangen
  • Du könntest Javascript verwenden: http://forums.purebasic.com/english/vie ... 12&t=16968
  • Du könntest die Website parsen und neu formatiert anbieten.
  • Du könntest dein System zu Linux wechseln und eine Wii Mote anschließen

_________________
Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Youtube Site über Webgadget steuern
BeitragVerfasst: 05.07.2012 11:10 
Offline
Benutzeravatar

Registriert: 15.11.2010 10:56
Hallo,
danke für deine Vorschläge! Also für den Aufruf von PB-Programme aus dem XBMC musst du lediglich
Code:
</focusedlayout> -<content> -<item id="663"> <label>Velindos</label> <onclick>XBMC.System.Exec(D:\Velindos\PROFI\XBMC\Velindos_XBMC.exe)</onclick> <icon>special://skin/backgrounds/videos.jpg</icon> <thumb>$INFO[Skin.String(Home_Custom_Back_Weather_Folder)]</thumb> </item>

in die XBMC Home.xml einfügen.
Zu deinen Vorschlag Pfeiltasten, dies geht ja auf das gesamte Webgadet aberr nicht innerhalb. Was nicht geht ist nach Anwahl in der Page die ENTER Taste etc. an das Webgadget zu übergeben. Habe mal was von Kiffi mit dem Callback gefunden, habe aber keine Ahnung wie ich die Tasturbefehle an dem Weiterleite.
Code:
Procedure NavigationCallback(Gadget, Url$)
  ; Geben Sie #True zurück, um diese Navigation zu erlauben, oder #False um sie zu unterbinden.
  If Url$= "http://www.purebasic.com/news.php"
    MessageRequester("", "No news today!")
    ProcedureReturn #False
  Else
    ProcedureReturn #True
  EndIf
EndProcedure
If OpenWindow(0, 0, 0, 1024, 768, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  WebGadget(0, 10, 10, 1004, 748, "http://www.youtube.com/xl?gl=DE&hl=de")
 
  SetGadgetAttribute(0, #PB_Web_NavigationCallback, @NavigationCallback())
 
  Debug "Bitte drücken sie eine beliebige Taste!"
 
Repeat
  Select WaitWindowEvent()
     
      Case #WM_CHAR
            Debug "#CHAR:    " + Str(EventwParam())
      Case #WM_KEYDOWN
            Debug "#KEYDOWN: " + Str(EventwParam())
      Case #WM_KEYUP
            Debug "#KEYUP:   " + Str(EventwParam())
      Case #WM_DEADCHAR
            Debug "#DEADCHAR:   " + Str(EventwParam())
      Case #WM_SYSCHAR
            Debug "#SYSCHAR:   " + Str(EventwParam())
      Case  #WM_SYSKEYDOWN
            Debug "#SYSKEYDOWN:   " + Str(EventwParam())
      Case  #WM_SYSKEYUP
            Debug "#SYSKEYUP:   " + Str(EventwParam())
      EndSelect

  Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

Gruss ... Velindos

_________________
Windows7 (64-Bit) | Ubuntu 10.4 (64-Bit) | Purebasic 5.00 (64-Bit) | PureFORM 1.99 (32-Bit)


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Youtube Site über Webgadget steuern
BeitragVerfasst: 05.07.2012 13:01 
Offline
Benutzeravatar

Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg
Das größte Problem bei der ganzen sache ist wohl, das Youtube sich
jeder Zeit ändern kann ... was auch immer du mit der Seite machst,
wird irgend wann von heute auf morgen nicht mehr funktioniern. Es
könnte aber dann sein, das du lediglich ein paar simulierte Tastendrücke
ändern musst damit alles wieder geht.

Wenn dich das stört, ist beste und sauberste Lösung, dir die Youtube-
Filme selber runter zu laden/ streamen und nicht nur die gesamte
Seite anzuzeigen ... natürlich nicht ohne und wenn Youtube größere
Änderungen durchführt ... wird auch das zusätzliche Arbeit bedeuten
um wieder alles zum laufen zu kriegen.

Wenn dich das nicht stört, ich kann mich leider nicht erinnern, das mal
jemand Tastatureingaben direkt ins Webgadget injiziert hat. Ich weis
lediglich von einer Funktion, die freak mal im englischen Forum
gepostet hat, welche direkten Zugriff auf die Javascript-Funktionen
einer geladenen Seite bietet. Es bleibt also nur die WinAPI, um
ans Fenster und das Gadget damit direkt Tastendrücke zu schicken.

Bevor du dich aber im Kreis drehst ... könnte ich dir Awesomium
anbieten. Ich hab dafür eine Include geschrieben die die meisten und
für dich alle nötige Funktionalität bereits bietet. Leider hab ich es
bisher kaum bis garnicht dokumentiert, so dass du dich selber
durch hangeln müsstest. Awesomium bietet aber auch eine eigene
Dokumentation. Das ganze ist aber auch sehr umfangreich und
daher nicht ohne. Du wirst davon nur einen Bruchteil brauchen. :wink:

MFG PMV

_________________
alte Projekte:
CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Youtube Site über Webgadget steuern
BeitragVerfasst: 06.07.2012 13:58 
Offline
Benutzeravatar

Registriert: 15.11.2010 10:56
Hallo,
hab noch eine Idee, nur finde ich nichts. Möchte die Maustaste mit den Pfeiltasten über den Webgadget steuern und mit ENTER den Mausklick steuern. Weiss jemand was?
Code:
; PureBasic Visual Designer v3.95 build 1485 (PB4Code)
;- Window Constants
;
Enumeration
  #Windows
EndEnumeration

;- Gadget Constants
;
Enumeration
  #RefreshButton
  #Page_Zurueck
  #PageVor
  #Combo_Favoriten
  #Stichwort
  #WegGadgetFenster
  #Page_Aufrufen
  #Combo_Aufrufen
EndEnumeration

;- StatusBar Constants
;
Enumeration
  #StatusBar_0
EndEnumeration
Procedure OpenPureMinibrowser()
  If OpenWindow(#Windows, 228, 0, 660, 731, "PureMiniWebbrowser",  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
    If CreateStatusBar(#StatusBar_0, WindowID(#Windows))
    EndIf
   
    ButtonGadget(#RefreshButton, 0, 0, 660, 30, "refresh")
    ButtonGadget(#Page_Zurueck, 0, 30, 30, 30, "<")
    ButtonGadget(#PageVor, 30, 30, 30, 30, ">")
    ComboBoxGadget(#Combo_Favoriten, 60, 30, 570, 30, #PB_ComboBox_Editable)
    AddGadgetItem(#Combo_Favoriten, -1, "http://www.youtube.com/xl?gl=DE&hl=de")
    AddGadgetItem(#Combo_Favoriten, -1, "http://www.purebasic.fr/german/index.php")
    AddGadgetItem(#Combo_Favoriten, -1, "http://www.rsbasic.de/winapi_library/Changelog.html")
    ButtonGadget(#Combo_Aufrufen, 630, 30, 30, 30, "CX")
    WebGadget(#WegGadgetFenster, 0, 60, 660, 650,  "http://www.youtube.com/xl?gl=DE&hl=de")
  EndIf
EndProcedure

OpenPureMinibrowser()


Debug "Bitte drücken sie eine beliebige Taste!"
Repeat
  Select WaitWindowEvent()
     
    Case #WM_CHAR
      Debug "#CHAR:    " + Str(EventwParam())
    Case #WM_KEYDOWN
      Debug "#KEYDOWN: " + Str(EventwParam())
    Case #WM_KEYUP
      Debug "#KEYUP:   " + Str(EventwParam())
    Case #WM_DEADCHAR
      Debug "#DEADCHAR:   " + Str(EventwParam())
    Case #WM_SYSCHAR
      Debug "#SYSCHAR:   " + Str(EventwParam())
    Case       #WM_SYSKEYDOWN
      Debug "#SYSKEYDOWN:   " + Str(EventwParam())
    Case       #WM_SYSKEYUP
      Debug "#SYSKEYUP:   " + Str(EventwParam())
  EndSelect
 
  Select EventGadget()
     

    Case #Combo_Aufrufen
      PfadString$= GetGadgetText(#Combo_Favoriten)
      SetGadgetText( #WegGadgetFenster, PfadString$ )
      ;RunProgram("explorer.exe ",Chr(34)+PfadString$+Chr(34),"",#PB_Program_Wait)
     
    Case #Page_Zurueck
      SetGadgetState(#WegGadgetFenster,   #PB_Web_Back)
     
    Case #PageVor
      SetGadgetState(#WegGadgetFenster,   #PB_Web_Forward)
     
    Case #RefreshButton
      ;SetGadgetState(#WegGadgetFenster,    #PB_Web_Refresh)
   
  EndSelect
Until WaitWindowEvent() = #PB_Event_CloseWindow


Gruss ... Velindos

_________________
Windows7 (64-Bit) | Ubuntu 10.4 (64-Bit) | Purebasic 5.00 (64-Bit) | PureFORM 1.99 (32-Bit)


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Youtube Site über Webgadget steuern
BeitragVerfasst: 06.07.2012 18:10 
Offline

Registriert: 19.09.2007 22:18
"Youtube Site über Webgadget steuern"? In der Formulierung wohl eher nicht, da zu kompliziert, funktionsweise nicht dauerhaft gewährleistet usw.

Aber: Youtube bietet offiziell allerlei Funktionen für Programmierer an: Youtube Player API

_________________
"Ich habe aus Spontanität den Thread arbeiten lassen - er bietet kein deutliches Fundament." — Alexi (aka. cOoki3druqs)
"ich hogffe ihr könnt den fehle endecken" — Marvin133
"Ideoten gibts ..." — computerfreak


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  
cron

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye