Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1696to1700
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Schieberegler youtubevideo

Schieberegler youtubevideo
22.06.2019 01:13:25
stef26
Guten Abend,
ich hätte da nochmal eine Frage.
Vielleicht ist ja der Zwenn zufällig im Forum...
Ich habe hier einen Code der die Länge eines Youtube Videos ausliest:

Sub YouTubeSpielZeitHolen()
Dim browser As Object
Dim url As String
Dim knotenWurzel As Object
Dim splitArray() As String
Dim spielZeit As String
'Beliebige YouTube URL auf ein Video
url = "https://www.youtube.com/watch?v=c_x4Ta3B8uI"
'Internet Explorer initialisieren, Sichtbarkeit festlegen,
'URL aufrufen und warten bis Seite vollständig geladen wurde
Set browser = CreateObject("internetexplorer.application")
browser.Visible = False
browser.Navigate url
Do Until browser.ReadyState = 4: DoEvents: Loop
'Zeitstempel aus dem YouTubePlayer auslesen
'Das entsprechende div-Tag verwendet als einziges die Klasse "ytp-progress-bar "
'Dann folgen einige Attribute, von denen wir den Wert von aria-valuetext brauchen
'
Set knotenWurzel = browser.document.getElementsByClassName("ytp-progress-bar ")(0) If Not knotenWurzel Is Nothing Then 'Wurde das div-Tag gefunden, direkt das Attribut mit Zeitstempel 'über Split() in seine Bestandteile zerlegen 'Leerzeichen = Trennzeichen (Delimeter) splitArray = Split(knotenWurzel.getAttribute("aria-valuetext")) 'Die Spielzeit des Videos steht nun im letzten Element des Arrays spielZeit = splitArray(UBound(splitArray)) Else spielZeit = "Keine Zeit ausgelesen" End If 'Aufräumen browser.Quit Set browser = Nothing Set knotenWurzel = Nothing 'Spielzeit ausgeben MsgBox spielZeit End Sub
Gibt es die Möglichkeit den Schieberegler (aria-label) anzusprechen um das Video an einer bestimmten Stelle laufen zu lassen?
z.B. Eingabefeld: 20Sekunden
Makrostart: Das aktuelle Video wird auf der Position 20 Sekunden fortgeführt...
Ist es möglich per VBA diesen Regler anzusprechen?
Grüße
Stefan

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schieberegler youtubevideo
22.06.2019 08:20:01
ChrisL
Hi Stefan
url = "https://www.youtube.com/watch?v=c_x4Ta3B8uI&t=0m20s"
cu
Chris
AW: Schieberegler youtubevideo
22.06.2019 14:19:49
stef26
Hallo Chris,
das ist ja genial einfach.
Besten Dank
Schönes Wochenende
Gruß
Stefan
AW: Vollbild youtubevideo
23.06.2019 11:16:53
stef26
Guten Tag,
ich muss mein etwas älteres Thema nochmal kurz aufmachen, da ich noch eine Frage hätte:
Gibt es die Möglichkeit das Youtubevideo, welches über WebBrowser in einer UserForm gestartet wird auf Vollbild zu schalten?
Gruß
Stefan
AW: Vollbild youtubevideo
23.06.2019 11:27:36
stef26
Hallo nochmal,
ich sollte dazusagen, dass ich nicht den Vollbildmodus des Webbrowsers meine, den man unter Eigenschaften einstellen kann, sondern wenn das Youtube Video in dem Browser geöffnet wird, dass dann innerhalb des Browsers das Youtube Video auf Vollbild geschaltet wird..
Gruß
Stefan
Anzeige
AW: Vollbild youtubevideo
24.06.2019 15:19:58
Zwenn
Hallo Stefan,
ich habe mich gestern nochmal mit Deiner zuletzt hochgeladenen Version Deines Projektes auseinander gesetzt. Ich muss allerdings sagen, dass ich Deine Programmierung etwas unglücklich finde, weil die Verwaltung der Zeitanzeige und den zugehörigen Texten nicht funktioniert. Das weißt Du aber selbst, deshalb wolltest Du ja die Zeit aus dem Player auslesen. Es gibt aber auch das Problem, wenn man die UF beendet, läuft trotzdem etwas im Hintergrund weiter, was die Zeit in einer Zelle weiter zählt und auch die Texte in den Zellen der Tabelle weiterhin munter umschaltet. Ich denke das liegt an diesem onTime Geraffel.
Nun habe ich aus der Sub, die ich Dir für das Auslesen der Zeit aus einem YT-Video zur Verfügung gestellt habe, eine Funktion gemacht. Die arbeitet jetzt mit einem übergebenen DOM-Objekt, das natürlich auch aus Deinem eingebetteten Webbrowser stammen kann. Es wird entweder die Gesamtzeit oder die bisher vergangene Zeit ausgelesen und zurückgeliefert.
Ich hatte allerdings keine Lust mehr, die Zeitabhängigkeiten umzuschreiben. Meiner Meinung nach brauchst Du lediglich die echte Zeit aus dem YT-Player. Damit läuft die Synchronisation mit der Textanzeige automatisch, weil das Video bei Pausierung ja auch den Zeitverlauf anhält.
Ich habe auch mal wegen des Vollbildmodus in den Quelltext des Players geschaut. Rein theoretisch ist das nur ein Button, rein praktisch hängen aber Events dran. Ich hatte noch keine Gelegenheit es auszuprobieren. Aber wenn das automatische Klicken des Buttons reicht, ist das einfach umzusetzen. Mit Events hingegen stehe ich auf Kriegsfuß ;-)
Hast Du inzwischen eine aktuellere Version, die Du hier hochladen kannst?
Viele Grüße,
Zwenn
Anzeige
AW: Vollbild youtubevideo
24.06.2019 23:49:25
stef26
Hallo Zwenn,
ja gibt es, allerdings bringe ich die Datei auf min 2,6MB was den Rahmen von 300k sprengen würde.
Hab schon versucht alles nicht notwendige zu löschen.
Schade.
Ich habe das mit dem Text korrigiert. Eine Möglichkeit der Vokabelabfrage der in den Liedern vorkommender Wörter eingefügt und das bei der Abfrage dann genau auf den Liedabschnitt gesprungen wird, der in der Vokabel abgefragt wurde. Funktioniert soweit man das Video mit dem Text manuell synchronisiert.
Ich hab auch schon ein schlechtes Gewissen, da du schon so viel Zeit investiert hast.
Deshalb: wenns zu komplex ist dann schließe einfach den Beitrag, da ich ja auch nicht weiß wie ich die Datei nun uploaden soll.
Vielen Dank das du so hilfreich mich unterstützt hast.
Gruß
Stefan
Anzeige
AW: Vollbild youtubevideo
25.06.2019 06:07:43
stef26
Hallo nochmal,
ich habs doch noch geschafft die Datei klein zu bekommen.
Lag an den Formatierungen einer Tabelle..
Hier die Datei:
https://www.herber.de/bbs/user/130568.xlsm
Gruß
Stefan
AW: Vollbild youtubevideo
25.06.2019 11:11:43
Zwenn
Hallo Stefan,
ein schlechtes Gewissen musst Du nicht haben. Es ist ja meine Entscheidung, ob ich mich damit befasse oder nicht. Ich finde solche Aufgabenstellungen interessant, weil ich dabei selbst viel darüber lerne, wie man an Daten hinter bestimmten Webtechniken kommt.
Für größere Dateien kannst Du auch einen Dienst wie z.B. Dropbox verwenden. Das ist in den Foren zwar nicht gerne gesehen, aber wenn es abgesprochen wird finde ich das völlig ok.
Ich komme frühestens heute Abend dazu, mir Deine neue Datei anzusehen.
Viele Grüße,
Zwenn
Anzeige
AW: Vollbild youtubevideo
25.06.2019 12:03:46
Zwenn
Hallo nochmal,
es gibt einen Typenfehler, wenn die UF gestartet wird. Weißt Du schon wo das Problem liegt? Solche Fehler in UFs sind ziemlich lästig. Vor allem, wenn ich mich erst in den Code einarbeiten muss. Es gibt allerdings auch ziemlich viele falsche Formel-Bezüge. Vielleicht ist es ein Folgefehler. Am besten Du lädst die ungekürzte Datei nochmal bei Dropbox oder so hoch.
Viele Grüße,
Zwenn
AW: Vollbild youtubevideo
25.06.2019 14:27:43
stef26
Hallo Zwenn,
da ist mir beim Löschen einer Tabelle ein Fehler unterlaufen.
Müsste jetzt wieder laufen...
https://www.herber.de/bbs/user/130573.xlsm
Lieb von dir.
Wie schon gesagt blos keinen Stress damit wenns zu komplex werden sollte
Gruß
Stefan
Anzeige
AW: Vollbild youtubevideo
25.06.2019 15:00:47
Zwenn
Alles klar,
jetzt geht die Datei jedenfalls schonmal unfallfrei auf ;-) Du hast die UF auf einem FullHD Bildschirm erstellt richtig? Ich nutze hier grade ein Notebook mit kleinerer Auflösung. Da passt Die UF nicht auf den Bildschirm. Dafür gibt es aber eine Zoom-Lösung. Muss man sich auch mal ansehen dann. Poste mal die Bildschirmauflösung von Deinem Entwicklungsrechner.
Ich schau heute Abend drauf.
Gruß,
Zwenn
AW: Vollbild youtubevideo
25.06.2019 18:27:32
stef26
Hallo Zwenn,
bis jetzt hab ich es noch nicht im Vollbildmodus gestartet.
Muss ich erst mal schauen wies geht. Bin noch nicht so fit. Versuch mich von Internetseite zu Internetseite zu hangeln um da einigermaßen zu recht zu kommen.
Meine Auflösung ist 1920x1080.
Das sich ein USERFORM anpassen lässt wusste ich bisher auch noch nicht.
Liebe Gruesse
Stefan
Anzeige
AW: Vollbild youtubevideo
25.06.2019 21:26:35
stef26
Hallo nochmal,
auch die Vokabelsuche hat durchs löschen eine Verknüpfung verloren so dass es nicht mehr funktioniert hat.
Sollte hiermit behoben sein, falls du es brauchst...
https://www.herber.de/bbs/user/130579.xlsm
:-)
Stefan
AW: Vollbild youtubevideo
26.06.2019 17:18:24
Hajo_Zi
Hallo Stefan,
warum Offen?
Sollte hiermit behoben sein, falls du es brauchst...

AW: Vollbild youtubevideo
26.06.2019 19:33:54
stef26
Hallo Hajo,
der Zwenn der mich hier schon super unterstützt hat wollte sich das nochmal ansehen, wenn er Zeit hat.
Ist auch nicht dringend und vermutlich nicht gerade einfach zu lösen.
Synchronisation mit Youtube Video und Vollbild des Videos innerhalb des Webbrowsers im USERFORM.
Wobei das mit der Synchronisation mein größeres Problem ist, da ich das manuell machen muss.
D.h. ich bräuchte ggf. Zugriff auf die Buttons des Videos bei YouTube und auf die aktuell gespielte Zeit. Und da ist halt der Zwenn so meine letzte Hoffnung, bevor ich es begraben müsste...
Deshalb ist das Thema noch offen.
Falls es sich nicht lösen lässt werde ich es schließen..
Gruß
Stefan
Anzeige
AW: Vollbild youtubevideo
28.06.2019 08:36:34
Zwenn
Hallo Stefan,
ich bin die letzten Tage nicht dazu gekommen mich ausführlich mit Deinem Player zu beschäftigen und über das WE bin ich unterwegs. Es gestaltet sich insgesamt schwierig, weil das einzige, was läuft der Start des Videos ist. Alles andere scheint keine Funktion zu haben. Ich kann keine Texte anzeigen lassen, ich kann keine Zeit anzeigen lassen, ich kann noch nicht mal auf den Exit-Button klicken. Also kann ich schon, aber es passiert einfach nix.
Ich will Dir den Mut nicht nehmen, aber ich habe das Gefühl, das Projekt ist etwas zu ambitioniert für Deinen Kenntnisstand. Ich nehme an Du bist es angegangen, indem Du die Ideen entwickelt hast, während Du es programmiert hast. Das funktioniert bei komplexeren Projekten auch für fortgeschrittenere Programmierer schon nicht mehr richtig. Man fängt dann automatisch irgendwann an, an verschiedenen Stellen den Code so umzubiegen, wie es eigentlich nicht sein soll, damit an einer anderen Stelle das passiert, was man will.
Mein Vorschlag ist, setze Dich hin und starte neu mit einer Planungsphase, in die Du alle Deine Ideen einbringen kannst. Deine bisherige Arbeit ist deshalb nicht verloren, sondern sehr wertvoll. Denn Deine Ideen sind gereift und während der bisherigen Umsetzung hast Du eine Idee davon bekommen, was am Ende wirklich rauskommen soll.
Es gibt dieses schöne Beispiel des Berliner Flughafens. Der wird nicht fertig, weil nach der Planungsphase so viele Änderungen vorgenommen wurden, dass bei dem Ding nix mehr zusammenpasst. Der ursprüngliche Architekt soll mal gesagt haben: "Hätte ich vorher gewußt, dass ich eine Shopping-Mall mit angeschlossenem Flughafen planen soll, hätte ich das gemacht."
Schreibe auf, welche Funktionen abgedeckt werden sollen und wie sie zusammen arbeiten. Das bedeutet z.B., die Zeit für die Texte wird nicht manuell über einen Button synchronisiert, sondern sowas muss automatisch funktionieren. Das ist z.B. eine der Funktionalitäten, die Du "hinterher reingefrickelt" hast nehme ich an.
Die Funktion, über die Du die Gesamtzeit oder die verstrichene Zeit eines Videos aus dem YTP auslesen kannst sieht folgendermaßen aus. Sie erwartet ein DOM-Objekt, dass Du aus Deinem eingebetteten Webbrowser nimmst. Über einen Boolean-Schalter wählst Du aus, ob Du die Gesamtzeit oder die bisher verstrichene Zeit von der Funktion bekommen willst:

Public Function YouTubeSpielZeitHolen(ytpDocument As Object, vergangenOderGesamt As Boolean) As  _
String
Dim knotenWurzel As Object
Dim spielZeit As String
Dim splitArray() As String
'Zeitstempel aus dem YouTubePlayer auslesen
'Das entsprechende div-Tag verwendet als einziges die Klasse "ytp-progress-bar "
'Dann folgen einige Attribute, von denen wir den Wert von aria-valuetext brauchen
'[div class="ytp-progress-bar "
'     tabindex = "0"
'     role = "slider"
'     aria-Label = "Schieberegler für Suche"
'     aria-valuemin = "0"
'     aria-valuemax = "211"
'     aria-valuenow = "1"
'     aria-valuetext = "0:00 von 3:31"
'     style="touch-action: none;" ]
Set knotenWurzel = ytpDocument.getElementsByClassName("ytp-progress-bar ")(0)
If Not knotenWurzel Is Nothing Then
'Wurde das div-Tag gefunden, direkt das Attribut mit Zeitstempel
'über Split() in seine Bestandteile zerlegen
'Leerzeichen = Standard-Trennzeichen (Delimeter)
splitArray = Split(knotenWurzel.getAttribute("aria-valuetext"))
'Die Vergangene-Spielzeit des Videos steht im ersten Element des Arrays
'Die Gesamt-Spielzeit des Videos steht im letzten Element des Arrays
'Je nachdem, was gewünscht wird, wurde für die Auswahl false oder true
'an diese Funktion übergeben
If vergangenOderGesamt Then
'Für true = vergangene Spielzeit im ersten Arry-Element
spielZeit = splitArray(LBound(splitArray))
Else
'Für false = gesamte Spielzeit im letzten Arry-Element
spielZeit = splitArray(UBound(splitArray))
End If
End If
'Aufräumen
Set knotenWurzel = Nothing
'Spielzeit zurückgeben
YouTubeSpielZeitHolen = Trim(spielZeit)
End Function

Ob Dein Projekt auf Bildschirmen mit unterschedlicher Auflösung laufen wird weißt nur Du. Bei fest erstellten UserForms ist es so, dass sie immer die absolute Größe beibehalten. Das bedeutet, Du entwickelst auf einem FullHD Bildschirm und hast die UF entsprechend groß gemacht. Wenn Du die auf einem Bildschirm mit kleinerer Auflösung darstellst, wird die Originalgröße nicht angepasst. Dafür kann man aber selber sorgen, indem man einen Umrechenfaktor auf Basis der Entwicklungs-Auflösung und der grade verwendeten Auflösung berechnet. Wie das geht kannst Du hier nachlesen:
(Statt frmForm verwendest Du natürlich den Namen Deiner UF)
http://www.excel-inside.de/vba-loesungen/userforms/318-userform-anhand-der-bildschirmaufloesung-zoomen
Ich hoffe Du bist jetzt nicht enttäuscht, sondern hast ein paar Einblicke, wie Du Dein Ziel noch erreichen kannst.
Viele Grüße,
Zwenn
Anzeige
AW: Vollbild youtubevideo
28.06.2019 09:21:46
stef26
Hallo Zwenn,
ich bin nicht enttäuscht, ganz im Gegenteil. Ich bin Froh das es dieses Forum gibt mit so tollen Helfern wie dich die Leute wie mich unterstützen.
Danke und weiter so!
Den Zoom und die verstrichene Zeit werde ich mir mal heute Abend ansehen.
Also nochmal Besten Dank für deine Unterstützung
Liebe Grüsse
Stefan
AW: DOM Objekt übergeben
28.06.2019 15:55:30
stef26
Hallo Zwenn,
hab versucht das mit deiner Funktion zu probieren.
Funktionen kenne ich nur so, dass ich die in eine Zelle eintrage und dort dann das Ergebnis bekomme.
Das mit dem true oder false ist mir noch klar. Hätte zum testen mal nur true gesetzt für die laufende Zeit.
Was mir nicht klar ist wie ich ein DOM Objekt (musste ich Googlen was das ist) aus dem Webbrowser der Funktion übergebe. Habe unter Eigenschaften geschaut aber finde da kein DOM Objekt.
Könntest du mir da nochmal kurz erklären wie das mit dem DOM funktioniert und ob du die Funktion in eine Zelle schreiben würdest, oder irgendwie in der USRForm aufzeigen würdest
Liebe Grüße
Stefan
P.S.Je mehr ich mich da reinschnuppere stelle ich fest wieviel know how mir da fehlt...
Anzeige
AW: Vollbild youtubevideo
25.06.2019 14:37:21
Bernd
Hallo Zwenn,
leider hat Hajo meine Frage an Dich geschlossen. Es handelt sich um das Thema
Webabfrage Teil 2, welches ich vor ca. 10 bis 14 Tagen gepostet hatte.
Könntest du dir das bitte einmal anschauen?
Besten Dank
Bernd
AW: Vollbild youtubevideo
25.06.2019 15:05:40
Zwenn
Hallo Bernd,
da finde ich in meinen Beiträgen das Auslesen von Werten für Nesdaq und noch einen anderen Wert zu Deinem Namen. Ist das richtig? Kannst Du mal einen Link auf Deinen von Hajo geschlossenen Thread posten? Aber am besten in einem neuen Thread.
Viele Grüße,
Zwenn
AW: Vollbild youtubevideo
25.06.2019 18:05:30
Bernd
Hallo Zwenn,
ich mache gleich einen neuen Post auf...
Bin dann aber heute Abend unterwegs, daher bitte nicht wundern, wenn ich nicht reagiere...
Besten Dank
Bernd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige