Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Windows Media Player "von bis" festlegen

Windows Media Player "von bis" festlegen
18.09.2020 10:27:42
bis"
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
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Windows Media Player "von bis" festlegen
18.09.2020 20:11:47
bis"
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
Anzeige
AW: Windows Media Player "von bis" festlegen
19.09.2020 05:08:22
bis"
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
Anzeige
AW: Windows Media Player "von bis" festlegen
19.09.2020 08:27:16
bis"
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
Anzeige
AW: Windows Media Player "von bis" festlegen
19.09.2020 21:22:53
bis"
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
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Windows Media Player "von bis" festlegen


Schritt-für-Schritt-Anleitung

Um den Windows Media Player in einem UserForm von Excel mit VBA zu steuern und eine bestimmte Zeitspanne abzuspielen, kannst du folgende Schritte befolgen:

  1. Füge ein UserForm hinzu: Öffne Excel und erstelle ein neues UserForm.

  2. Füge einen Windows Media Player hinzu: Gehe zu "Entwicklertools" -> "Steuerelemente einfügen" und wähle den Windows Media Player aus.

  3. Füge einen Button hinzu: Ziehe einen Button auf das UserForm.

  4. VBA-Code eingeben: Doppelklicke auf den Button und füge folgenden Code ein:

    Private Sub CommandButton1_Click()
       With Me.WindowsMediaPlayer1
           .URL = "C:\temp\12_01.mp4" ' Hier den Pfad zu deiner Mediendatei anpassen
           .Controls.currentPosition = 20 ' Startposition setzen
           Do
               DoEvents
           Loop Until .Controls.currentPosition > 30 ' Stop bei 30 Sekunden
           .Controls.stop ' Oder .Controls.pause, wenn du pausieren möchtest
       End With
    End Sub
  5. Testen: Starte das UserForm und klicke auf den Button, um das Video abzuspielen.


Häufige Fehler und Lösungen

  • Fehler: Der Windows Media Player startet nicht.

    • Lösung: Stelle sicher, dass der Pfad zur Mediendatei korrekt ist und die Datei existiert.
  • Fehler: currentPosition funktioniert nicht wie erwartet.

    • Lösung: Achte darauf, dass die Datei im richtigen Format vorliegt und vom Windows Media Player unterstützt wird.
  • Fehler: Der Timer oder Loop stoppt nicht.

    • Lösung: Überprüfe die Bedingung in der Loop Until-Anweisung und stelle sicher, dass die aktuellen Positionen korrekt aktualisiert werden.

Alternative Methoden

Wenn du eine andere Mediaplayer-Lösung ausprobieren möchtest, kannst du den VLC Media Player verwenden. Hierbei kannst du die vlc media player millisekunden anzeigen-Funktion nutzen, um präzise Steuerungen zu implementieren.

Ein Beispiel für VLC in VBA könnte so aussehen:

Dim VLC As Object
Set VLC = CreateObject("VideoLAN.VLCPlugin.2")
VLC.playlist.add "C:\temp\12_01.mp4"
VLC.input.time = 20000 ' Start bei 20 Sekunden

Praktische Beispiele

Hier sind einige Anwendungsbeispiele, die du in dein UserForm integrieren kannst:

  1. Automatisches Stoppen nach einer bestimmten Zeit:

    • Verwende die OnTime-Funktion, um den Windows Media Player nach einer bestimmten Zeit zu stoppen.
  2. Media Player Geschwindigkeit einstellen:

    • Du kannst die Geschwindigkeit des Media Players über die rate-Eigenschaft anpassen:
      .settings.rate = 0.5 ' Halbe Geschwindigkeit
  3. Einbindung von Markern:

    • Nutze die MarkerHit-Ereignisse, um bei Erreichen bestimmter Zeitmarker Aktionen auszuführen.

Tipps für Profis

  • Nutze die DoEvents-Funktion, um sicherzustellen, dass dein UserForm während des Abspielens der Medien reaktionsfähig bleibt.
  • Du kannst den Windows Media Player als Standard festlegen, um die Benutzererfahrung zu verbessern.
  • Experimentiere mit den verschiedenen Eigenschaften des windowsmediaplayer, um dein UserForm individuell anzupassen.

FAQ: Häufige Fragen

1. Wie kann ich die Geschwindigkeit des Windows Media Players einstellen?
Du kannst die Geschwindigkeit mit der settings.rate-Eigenschaft einstellen, z.B. .settings.rate = 1.5 für 1,5-fache Geschwindigkeit.

2. Kann ich den Windows Media Player zurücksetzen?
Ja, du kannst den Player zurücksetzen, indem du die Controls.stop-Methode verwendest und anschließend die URL erneut setzt.

3. Welche Formate unterstützt der Windows Media Player?
Der Windows Media Player unterstützt viele Formate, darunter MP4, WMV und AVI. Achte darauf, dass deine Mediendatei in einem unterstützten Format vorliegt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige