Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1540to1544
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

MP3 via VBA abspielen unter 64bit geht nicht mehr

MP3 via VBA abspielen unter 64bit geht nicht mehr
22.02.2017 20:27:51
Olli
Hallo Leute!
Verzweifel gerade und hoffe auf eure Hilfe.
Ich lasse per VBA eine MP3 Datei abspielen. Das hat mit meinem alten Rechner Win10/32bit auch problemlos funktioniert.
Jetzt habe ich einen neuen Rechner mit Win10 /64bit /Office 2016 /32bit und da funktioniert es nicht. Die Codes laufen ohne Probleme, aber es kommt kein Sound raus.
Hat jemand eine Ahung, wo mein Fehler ist? Kann es an der 64bit-Windowsversion liegen?
Würde mich riesig freuen, wenn mir wer helfen könnte.
Viele Grüße
Olli
Nachfolgend der Code:
'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
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)
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

Sub losgehts()
MP3_Stop "MyAlias"
MP3_Play ActivePresentation.Path & "\losgehts.mp3", "MyAlias"
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MP3 via VBA abspielen unter 64bit geht nicht mehr
22.02.2017 22:55:40
Luschi
Hallo Olli,
so funktioniert es bei mir mit Win10/64-bit und Office 2016/32-bit:
https://www.herber.de/bbs/user/111677.xlsm
Weitere Infos findest Du hier:
https://books.google.de/books?id=aJSvqBYrHlgC&pg=PA378&lpg=PA378&dq=%22type+MPEGVideo+alias+%22&source=bl&ots=o25pVDicJb&sig=ZczzstVO83c-j6uz6eAfz6p9BhU&hl=de&sa=X&ved=0ahUKEwj2xJKZx6TSAhUGlCwKHW6DBDwQ6AEIMzAD#v=onepage&q=%22type%20MPEGVideo%20alias%20%22&f=false
Gruß von Luschi
aus klein-Paris
Anzeige
klappt nicht
23.02.2017 17:07:35
Olli
Hallo Luschi!
Danke für deinen Code. Dasselbe Problem...läuft problemlos durch, aber kein Ton. Keine Ahnung woran es liegt. Ist ein bestimmter Verweis vielleicht erforderlich?
Gruß
Olli
AW: klappt nicht
23.02.2017 18:12:36
Luschi
Hallo Olli,
habe mir meine hochgeladene Datei nochmals auf den Rechner geholt, den Dateipfad zur mp3-Datei angepaßt und aus dem angeschlossenen Lautsprecher sprudeln lauter wohlgeformte Töne.
Laut Original-Vorlage aus dem erwähnten Buch gilt der Code aus meiner Datei für folgende _ Dateitypen:

Case "aif", "aifc", "aiff", "au", "mp3", "snd"
strMMTyp = "MPEGVideo"

Dann habe ich eine mp3-Datei genommen, in der Leerzeichen im Dateinamen sind - und schon blieb der Lautsprecher stumm. Ein oder mehrere Minuszeichen im Dateinamen sind auch kein Problem, aber Leerzeichen lassen den Lautsprecher verstummen.
Auch große Dateien (80 MByte) machen bei mir kkeine Probleme.
Gruß von Luschi
aus klein-Paris
Anzeige
das war es :o)
23.02.2017 18:49:00
Olli
Du bist mein Held des Tages...das war die richtige Idee. Es lag zwar nicht am Dateinamen, aber im Pfad hatte ich ein Leerzeichen, was denselben Effekt hatte. Komisch, dass es auf einem 32bit-System keine Probleme bereitet, aber auf einem 64bit-System.
Egal...das Problem ist gelöst...
Vielen vielen Dank...mein Tag ist gerettet :o)
Gruß
Olli

337 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige