Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
396to400
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
396to400
396to400
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Prüfen, ob mp3-Datei noch läuft

Prüfen, ob mp3-Datei noch läuft
14.03.2004 14:14:08
Bernhard Ebermann
Hallo User,
irgendwie müßte ich per VBA feststellen, ob eine mp3-Datei zur Zeit abgespielt wird.
Das darf aber nicht über eine Playerabfrage erfolgen, da dieser durchgehend aktiv bleiben soll.
Es soll lediglich geprüft werden, ob eine gestartete mp3-Datei noch läuft oder nicht, da hier erst nach Beendigung der mp3 ein anderer Vorgang gestartet werden soll.
In den Recherchen stand viel zu mp3's, jedoch meines Erachtens keine Erkennung, ob eine mp3 noch aktiv ist, oder ich habe es nicht erkannt.
Gruß
Bernhard

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfen, ob mp3-Datei noch läuft
14.03.2004 14:21:47
Ulf
"Das darf aber nicht über eine Playerabfrage erfolgen, da dieser durchgehend aktiv bleiben soll"
Was ist eine Playerabfrage?
Ulf
AW: Prüfen, ob mp3-Datei noch läuft
14.03.2004 14:38:19
Bernhard Ebermann
Hallo Ulf,
Als Playerabfrage, ist die Abfrage gemeint, welche feststellt, ob Winamp oder der MediaPlayer aktiv ist.
Gruß
Bernhard
AW: Prüfen, ob mp3-Datei noch läuft
14.03.2004 15:39:03
Ulf
Zeig doch mal den Code, mit dem du die Datei aufrufst.
Ulf
AW: Prüfen, ob mp3-Datei noch läuft
14.03.2004 16:07:51
bodo4
Hallo Ulf,
Hier erstmal der Code
Declare

Function sndPlaySound32 Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName _
As String, ByVal uFlags As Long) As Long
<pre>
Sub Abspielen()
Dim x As Variant
x = Shell("C:\programme\winamp\winamp.exe c:\test.mp3)
'wenn test.mp3 fertig
'dann
hier soll nun Weiteres passieren, aber erst wenn test.mp3 abgelaufen ist,
während der Player jedoch weiter geöffnet bleibt.
End Sub

Gruß
Bernhard
Anzeige
sorry // falsche Auswahl // bodo4 bin ich //o.T.
14.03.2004 16:55:44
Bernhard Ebermann
'
AW: Prüfen, ob mp3-Datei noch läuft
14.03.2004 17:02:20
Ulf
Dazu brauchst du die API- Funktion WaitForSingleObject
Ulf
AW: Prüfen, ob mp3-Datei noch läuft
14.03.2004 18:05:47
Bernhard Ebermann
Hallo Ulf,
Danke, daß Du Dir die Mühe gibst, mir zu helfen.
Du meintest: Dazu brauchst du die API- Funktion WaitForSingleObject
Ich habe das mal probiert.
Es hat bei mir nur bei " Irgendetwas.exe " - Anwendungen funktioniert.
Bei einer mp3 gibt es nur Fehlermeldungen.
" unzulässiger Prozeduraufruf oder ungültiges Argument "
Gruß
Bernhard
AW: Prüfen, ob mp3-Datei noch läuft
14.03.2004 19:21:19
y
hi Bernhard,
da du ja schon in anderen foren mit dieser frage vorstellig warst wäre es ja mal spannend zu erfahren wozu das ganze eigentlich dienen soll ?
warum muss es denn unbedingt der windows media player sein ?
cu Micha
Anzeige
AW: Prüfen, ob mp3-Datei noch läuft
14.03.2004 19:49:40
Bernhard Ebermann
Hallo Micha,
Eigentlich war ich mit dieser Frage nur in einem zusätzlichen Forum, nämlich im Excel-Center, erfolglos vorstellig.
Zu Deiner 1. Frage:
Nein es können auch andere Player angesprochen werden, wobei fraglich ist welcher Player auf dem jeweiligen Rechner gerade installiert ist.
Bei Einbindung des WinnMediaPlayers stellt sich diese Frage in der Regel nicht.
Zu Deiner 2. Frage:
Das ganze wird eine VBA-Steuerung, bei welcher erst nach Abspielung einer mp3 (Kommentar) der nächste VBA-Steuervorgang eingeleitet wird u.s.w.
Gruß
Jürgen
AW: Prüfen, ob mp3-Datei noch läuft
14.03.2004 19:58:13
y
hi Bernhard/Jürgen,
das mit dem andren foren war ja in diesem fall nicht als kritik gemeint
wenn es was andres sein darf
dann probier doch mal das:
Public bMusicPlay As Boolean
Public pMC As FilgraphManager
Public Sub abspielen()
Set pMC = New FilgraphManager
pMC.RenderFile "c:\test.mp3"
pMC.Run
bMusicPlay = True
End Sub

Private Sub abwarten()
If Not bMusicPlay Then Exit Sub
Dim pMEPos As IMediaPosition
Set pMEPos = pMC
On Error Resume Next
DoEvents
Do While pMEPos.CurrentPosition <> pMEPos.Duration
DoEvents
Loop
Stop
Set pMEPos = Nothing
Set pMC = Nothing
bMusicPlay = False
'PlayMusic
End Sub

das einzige problem dürfte der verweis auf die quartz.dll sein (auch als hinweis für dich)
cu Micha
Anzeige
AW: Prüfen, ob mp3-Datei noch läuft
14.03.2004 20:15:44
Bernhard Ebermann
Hallo Micha,
Sprich mich nicht nocheinmal mit diesem Namen an (grins).
Dafür bin ich noch heute sauer über meine Eltern (total ernst).
Nicht etwa, daß ich etwas gegen den Namen "Jürgen" hätte, aber Bernhard, Jürgen, E.. - - ??? wie hört sich das denn an?
Nun denn-
verstanden habe ich Deine Routine zwar noch nicht, werde sie aber mal testen.
Danke für Deine Mühe
Gruß
J.. äh- Bernhard
AW: Prüfen, ob mp3-Datei noch läuft
14.03.2004 21:07:13
y
hi xxx(reizen tut es schon), *grins*
du musst natürlich aus der
abspielen in die abwarten hüpfen
Public

Sub abspielen()
Set pMC = New FilgraphManager
pMC.RenderFile "c:\test.mp3"
pMC.Run
bMusicPlay = True
abwarten
End Sub

wenn liedchen beendet dann läuft er auf das stop in der abwarten
cu Micha
Anzeige
DANKE Micha, es läuft - - - , aber warum?
14.03.2004 21:09:28
Bernhard Ebermann
Hallo Micha,
Du schriebst: das einzige problem dürfte der verweis auf die quartz.dll sein (auch als hinweis für dich)
Richtig, ich habe diese dll nicht bei den Verweisen gefunden.
Darafhin habe ich sie suchen lassen.
Und was hat er markiert???
Die "ActiveMovie control type libary"
Ich weis weder was das ist, noch was es macht.
Es funktioniert jedenfalls.
Nun möchte ich das Ganze aber auch noch verstehen.
Womit spielt das Ding?
Ich verstehe das ganze Makro nicht.
Villeicht kannst Du mir das nach diesem Erfolg ja auch noch erklären/dokumentieren.
Danke für Deine Geduld
Gruß
Bernhard
Anzeige
AW: DANKE Micha, es läuft - - - , aber warum?
14.03.2004 21:31:37
y
hi,
im erklären bin ich so das schlechteste was rumläuft *grummel*
Über die ActiveMovie control type library können MP3-Files abgespielt werden, ohne dass ein Steuerelement im Form sichtbar ist. Dies geht mittels dem FilgraphManager-Objekt. Um das Objekt ansprechen zu können, muss im Projekt ein Verweis auf die ActiveMovie control type library (QUARTZ.DLL) eingerichtet werden.
Mit der Methode "RenderFile" wird das MP3 geladen, mit "Run" das Abspielen gestartet und mit "Stop" angehalten. Über das Objekt "IMediaEvent" kann festgestellt werden, ob das MP3 abgespielt wurde.
Mittels dem Objekt "IMediaPosition" können div. Informationen vom MP3 ermittelt werden (keine MP3-Tags!), z.B. die aktuelle Abspiel-Position sowie die Gesamtlänge.
Das war in deinem fall das wichtigste !!
Wichtiger Hinweis:
Beim Verteilen der Anwendung muss auch darauf geachtet werden, ob die QUARTZ.DLL auf dem Zielrechner vorhanden ist.
currentposition ist die tatsächlich gespielte zeit
und duration die komplette länge
also wenn gespielte zeit=länge dann fertig
cu Micha
Anzeige
danke für die rückmeldung :-) o.t.
15.03.2004 07:28:15
y
...
GRINS...AW: Prüfen, ob mp3-Datei noch läuft..GRINS
14.03.2004 14:27:46
Thorsten
Hallo Bernhard :-)
Versuch es so:
1. Bewege ein Ohr ganz nah an eine Lautsprecherbox
2. Eine Hand sollte sich in Nähe der Enter-Taste befinden
3. Sobald das, was Du hörst, leiser wird, musst Du aufpassen
4. Du hörst nix mehr??
ACTIONNNNN!!!!!!!
5. Dein Einsatz! Das Lied ist zu Ende, und spätestens JETZT solltest Du auf die Enter-Taste drücken, um den nächsten Befehl auszuführen :-)
hihihihi
Entschuldige bitte, ich weiß, dieser mein Beitrag ist wohl wirklich nicht hilfreich, aber ich konnte es mir leider leider nicht verkneifen....grins
Einen kompetenten Lösungsvorschlag kann ich Dir aber leider auch nicht geben...sorry :-)
Ciao
Thorsten

Spaß muss auch mal bei Hans W. Herber erlaubt sein ;-)
Anzeige
lol :-)
14.03.2004 14:30:30
y
cu Micha
Wo Du recht hast, hast Du recht.GRINS
14.03.2004 14:33:29
DieterB
.
GRINS...AW: Prüfen, ob mp3-Datei noch läuft..GRINS
14.03.2004 14:36:41
Kurt
Also irgendwo muss der Spaß aufhören, dazu ist das Thema zu ernst.
Kurt

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige