Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Windows Media Player "von bis" festlegen

Betrifft: Windows Media Player "von bis" festlegen von: Andrea
Geschrieben am: 18.09.2020 10:27:42

Hallo,

möchte mit dem WMP im UF ab einer bestimmten Position bis zu einer bestimmten Position spielen und dann stoppen. Mit:
controls.currentPosition = 20 'als Beispiel kann ich ja zu einer bestimmten Zeit springen. Aber wie geht es dann weiter? Hab es mit If ... currentposition = 30 ' then Pause probiert. Das will nicht klappen.

Hab noch was von MarkerHit und MarkerNum gelesen. Komme aber nach sehr langem Suchen nicht mehr weiter. Könnte man denn mit VBA das Video im WMP markieren und dann speichern? ... und damit dann von per VBA von Markierung zu Markierung zu springen? Ein mögliches Event wäre ja WindowsMediaPlayer1_MarkerHit.

Danke für Ideen und/oder Hilfe.

Viele Grüße

Andrea

Betrifft: AW: Windows Media Player "von bis" festlegen
von: ChrisL
Geschrieben am: 18.09.2020 20:11:47

Hi Andrea

Idee: Nach x Sekunden einfach das ganze Userform schliessen bzw. zurücksetzen (z.B. mit OnTime).
Nachteil: Der Benutzer verliert die Kontrolle z.B. Pause.

Obwohl ich kein ungarisch spreche, hat mich folgender Beitrag auf die Idee gebracht:
https://prog.hu/tudastar/154028/video-allitgatasa-vb-vel-powerpoint-alatt

Automatische Übersetzung (erster Absatz, grüner Kasten, nach dem Code-Schnipsel):
Dies ist kein so einfacher Fall. Es gibt keine Ereignisse für das Spielerobjekt, die nach einem bestimmten Zeitintervall aktiviert würden. Es verfügt jedoch über einen MarkerHit-Ereignishandler, der aktiviert wird, wenn ein Marker erreicht wird. Wenn Sie sich jedoch die Player- und Medienobjekte ansehen, sehen Sie, dass Sie nur Markierungen abfragen können, aber keine neue im Skriptmodell erstellen können.

Verstehe ich so, dass man bei einem UF Medienobjekt nicht abfangen kann, ob ein bestimmter Marker erreicht wurde.

Im verlinkten Beitrag wird darum als Alternative die eingangs erwähnte Idee aufgegriffen. (zwar mit API Countdown, aber OnTime scheint mir einfacher)

Beispiel:
https://www.herber.de/forum/archiv/332to336/335720_UserForm_Schliessen.html

cu
Chris

Betrifft: AW: Windows Media Player "von bis" festlegen
von: Andrea
Geschrieben am: 19.09.2020 05:08:22

Hallo Chris, Klasse und vielen Dank.

Deine vorgeschlagene Idee ist sehr gut. Hab mich jetzt tagelang mit dem Thema befasst und denke auch, dass es am besten ist, VBA Bordmittel für die Zeitsteuerung zu nehmen. Ich glaube, die Möglichkeit zum Marker-Schreiben gabs wohl mal, wurde dann aber anscheinend abgeschafft. Siehe https://docs.microsoft.com/en-us/previous-versions/ms932741(v=msdn.10) bei CurrentMarker. Hatte schon überlegt und versucht, mit VLC Marker zu setzen und diese Bookmarker-Datei dann im Media-Player einzulesen, um den MarkerCount anschließend zu bemühen.

Werde jetzt folgendes probieren: Timer/Stoppuhr einbauen und mit diesem dann das UF mit dem Windows Media Player steuern. Vielleicht brauche ich es gar nicht zu entladen. Ich könnte doch die Events nutzen und im passenden Augenblick die "Pause-/oder Rate-Anweisung geben? Kleines Problem wird sein: nach 3,? Sekunden soll das Video mit halber Geschwindigkeit laufen. Aber ich glaube, das bekommt man mit der Zeit auch hin. Danke Dir. Hatte schon gezweifelt. Aber Du hast mir das jetzt bestätigt, dass es so, wie ich es vor hatte, anscheinend nicht möglich ist.

Nochmals Danke und viele Grüße
Andrea

Betrifft: AW: Windows Media Player "von bis" festlegen
von: ChrisL
Geschrieben am: 19.09.2020 08:27:16

Hi Andrea

Danke für die Rückmeldung.

Ich könnte doch die Events nutzen...
Mein Verständnis war, dass es das passende Event (MarkerHit) nicht gibt. D.h. man kann zwar womöglich einen Marker setzen z.B. hiermit (ungetestet):
https://social.msdn.microsoft.com/Forums/vstudio/en-US/3626c4d5-54c4-4a58-b2e6-c17d8d064b5b/add-markers-to-windows-media-player-media-item?forum=clr

aber der Marker nützt nichts, weil damit nichts "getriggert" (ausgelöst) wird.

Der Timer mit Millisekunden sollte gehen. Mal Stichworte Countdown, Stoppuhr Millisekunden im Forum recherchieren.

Was es nebst Play als Steuerungsmöglichkeit sonst noch gibt, weiss ich spontan auch nicht.

cu
Chris

Betrifft: AW: Windows Media Player "von bis" festlegen
von: Anton
Geschrieben am: 19.09.2020 21:22:53

Hallo Andrea,

wenn ich dich richtig verstanden habe, dann so?:

Private Sub CommandButton1_Click()  
  With Me.WindowsMediaPlayer1
    .URL = "C:\temp\12_01.mp4" 'anpassen
    .Controls.currentPosition = 20
    Do
      DoEvents
    Loop Until .Controls.currentPosition > 30  
    .Controls.stop 'oder
   '.Controls.pause
  End With  
End Sub  

mfg Anton

Beiträge aus dem Excel-Forum zum Thema "Windows Media Player "von bis" festlegen"