Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

MP3 oder Wav abspielen unter 64bit
#1
Hallo,

git es eine Möglichkeit nach einer bestimmten Bedingung einen Sound abzuspielen?
Beispielsweise in der Art:

Code:
=@WENN(LÄNGE(A2)<>13;AbspielenMP3();"")


Danke
Antworten Top
#2
Hola,

verlinkst du bitte deine Fragen in den verschiedenen Foren gegenseitig?
Danke.

Gruß,
steve1da
Antworten Top
#3
Hallöchen,

warum =@...?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#4
Hallo human,

einfaches Beispiel spezielles Abspielen einer MP3-Datei.
Code:

Option Explicit

Private Declare PtrSafe Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" ( _
        ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _
        ByVal uReturnLength As Long, ByVal hwndCallback As LongPtr) As Long
Private Declare PtrSafe Function GetShortPathName Lib "kernel32.dll" Alias "GetShortPathNameA" ( _
        ByVal lpszLongPath As String, ByVal lpszShortPath As String, _
        ByVal cchBuffer As Long) As Long
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub PlayMyMP3(sFile As String)
' Spielt ein MP3-File ab
  Dim iOldPos As Long
  Dim sBuffer As String * 255, sPos As String * 256

  If GetShortPathName(sFile, sBuffer, LenB(sBuffer)) <> 0 Then _
  sFile = Left$(sBuffer, InStr(sBuffer, vbNullChar) - 1)
' MCI öffnen
  If Dir$(sFile) <> "" Then
     If mciSendString("open " & Chr$(34) & sFile & Chr$(34) & " type MPEGVideo alias MyMP3", 0, 0, 0) = 0 Then
' MP3 abspielen
        mciSendString "play MyMP3", 0, 0, 0
        Do
           Sleep 200: DoEvents
           mciSendString "status MyMP3 position", sPos, Len(sPos), 0&
           If Val(sPos) = iOldPos Then Exit Do
           iOldPos = Val(sPos)
        Loop
' MP3 schließen
        mciSendString "close MyMP3", 0, 0, 0
     End If
  Else
     MsgBox "Die MP3-Datei '" & sFile & "' wurde nicht gefunden!", vbCritical, "MP3 abspielen"
  End If

End Sub

Sub AbspielenMP3()
  PlayMyMP3 "D:\IRD\Black Night.mp3"
End Sub

_________
viele Grüße
Karl-Heinz
Antworten Top
#5
Hallöchen,

Du musst dann das Sub noch umbenennen in
Public Function AbspielenMP3()

Allerdings rechnet die Funktion so lange, wie die MP3 läuft. Nimm also nicht In A Gadda Davida von Iron Butterfly oder Echoes von Pink Floyd Smile
Solltest Du etwas längeres abspielen wollen würde ich eine Titelliste erzeugen und mit der shell an den Mediaplayer übergeben oder etwas in der art. Siehe dazu auch mein Beispiel
Excel-MP3-Lister-Player-Playlist
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
Hallo zusammen,

hier zur Ergänzung mal noch folgender Tipp:

Man kann mit dem mciSendString auch gezielt Ausschnitte aus längeren Songs abspielen. Anfang und Ende millsekundengenau setzen.

Mit o.g. Code kann leicht ein Stopp erreicht werden (Muss man halt vorher irgendwie abstoppen und sich merken):
If Val(sPos) >= 3000 Then Exit Do 

Gruß Karl-Heinz
Antworten Top
#7
Zur Info...
https://www.ms-office-forum.net/forum/sh...p?t=372188
Antworten Top
#8
Hallo Schauan,

Allerdings rechnet die Funktion so lange, wie die MP3 läuft

Das Ganze könnte auch im Hintergrund auf Windows-Ebene ablaufen. Dann aber ohne die Do-Schleife...
Theoretisch kann man mehrere MP3 (z.B. auch Songs) gleichzeitig ablaufen lassen und/oder sich das Ganze als Hintergrundmusik anhören.

Immer wieder nur den Trommelwirbel des von Dir genannten Songs.  19

Natürlich kann auch die Lautstärke geregelt werden.

VG KH
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste