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

2 verschiedene sounds mit vba abspielen

2 verschiedene sounds mit vba abspielen
20.11.2006 10:29:59
Julia
also ich hab mal eine frage...
ich hatte schon ein threat zum thema "Datein einbinden" nur leider antowrtet mir da niemand mehr...ALSO:
ich habe mit einer API mein programm so, das bei einem bestimmten ereignis ein sound gespielt wird. nun möchte ich das gleich für ein anderes ereignis.
das ist der api aufruf:
myMP3 ist eine kontsnte, wo der dateipfad angegeben wird.
If Not blnDontPlayAgain Then
' MP3 abspielen
MP3_Play myMP3, "MyAlias"
Else
' MP3-Wiedergabe stoppen
MP3_Stop "MyAlias"
blnDontPlayAgain = False
End If
schreibe ich das gleiche programm an andere stelle(für das andere ereigniss, dementsprechend mit einer anderen mp3) funktioniert nix mehr...entweder spielt das system garkeine sounds, oder ab und zu in bestimmten intervallen nur weiß ich leider nciht warum!?...
also irgendwie kriege ich das mit dem archivlink nicht hin also...
der alte threat ist im Paket 816to820..und das sind die daten 13.11.2006 09:08:45 einbinden von datein Julia
vielen dank für die hilfe

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 2 verschiedene sounds mit vba abspielen
20.11.2006 10:40:08
Julia
..also ich hab nochmal getestet habe die api als klassenmodul(vorher war sie ein normales modul) der aufruf der api funktioniert und obwohl ich bei beiden ereignissen unterschiedliche pfade habe spielt das programm nur einen sound...warum!?
AW: 2 verschiedene sounds mit vba abspielen
20.11.2006 12:45:06
Nepumuk
Hallo Julia,
mit deinem Programmfragment lässt sich leider nicht nachvollziehen, was das schief läuft.
Gruß
Nepumuk
AW: 2 verschiedene sounds mit vba abspielen
20.11.2006 12:58:33
Julia
Also das is die API:
' Modul MP3-Play and Stop via API
Option Explicit
' zunächst die benötigte API-Deklaration
Private Declare

Function mciSendString Lib "winmm.dll" _
Alias "mciSendStringA" (ByVal lpszCommand As String, _
ByVal lpszReturnString As String, _
ByVal cchReturnLength As Long, _
ByVal hwndCallback As Long) As Long
Private Declare 

Function GetShortPathName Lib "kernel32" _
Alias "GetShortPathNameA" (ByVal lpszLongPath As String, _
ByVal lpszShortPath As String, _
ByVal cchBuffer As Long) As Long
' MP3-Datei abspielen
Public 

Function MP3_Play(ByVal sFile As String, _
ByVal sAlias As String) As Boolean
Dim bResult As Boolean
' Dateinamen in DOS 8.3 Format, da z.B. Sonderzeichen
' wie Leerzeichen Probleme machen
Dim sBuffer As String
Dim lResult As Long
sBuffer = Space$(255)
lResult = GetShortPathName(sFile, sBuffer, Len(sBuffer))
If lResult <> 0 Then
sFile = Left$(sBuffer, InStr(sBuffer, vbNullChar) - 1)
' MCI öffnen
lResult = mciSendString("open " & sFile & _
" type MPEGVideo alias " & sAlias, 0, 0, 0)
lResult = 0
If lResult = 0 Then
' MP3 abspielen
If mciSendString("play " & sAlias & _
" from 0", 0, 0, 0) = 0 Then
bResult = True
End If
End If
End If
MP3_Play = bResult
End Function

' Wiedergabe stoppen und MCI schließen
Public

Sub MP3_Stop(ByVal sAlias As String)
mciSendString "stop " & sAlias, 0, 0, 0
mciSendString "close " & sAlias, 0, 0, 0
End Sub

und der aufruf der api hab ich ja vorhin schon geschrieben...hast du ne idee!? wie gesagt ich hatte schon einen threat zu dem thema, aber da antwortet aber niemand... :-(...da ist auch lauter code...
brauche dringend hilfe...die doofen windows sounds machen mich noch wahnsinnig...:-(
Anzeige
AW: 2 verschiedene sounds mit vba abspielen
20.11.2006 14:26:23
Kurt
Hi,
die doofen windows sounds sind aber auch keine MP3-Dateien.
mfg Kurt
AW: 2 verschiedene sounds mit vba abspielen
20.11.2006 15:24:17
Nepumuk
Hallo Julia,
das passiert, wenn du kein explizites Close am Ende des Sounds an die DLL sendest. Da ist dann immer noch die alte Datei drin, auch wenn du sie versuchst zu überschreiben. Also schick den Close immer vor dem spielen eines Sounds (wenn nichts drin ist, passiert auch nichts), oder benutze den FilgraphManager. Der ist da nicht so empfindlich. Außerdem kannst du damit Pausen im Sound einlegen.
Gruß
Nepumuk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige