Jouer des fichiers mp3 (sans ocx)

0/5 (15 avis)

Snippet vu 17 104 fois - Téléchargée 82 fois

Contenu du snippet

Voici une façon de procéder pour lire des MP3 sans OCX (Attention : il faut avoir des codecs pour pouvoir jouer certaines musics):

Source / Exemple :


Option Explicit

Dim ret As Long, mp3file As String
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Private Sub Form_Load()
mp3file = "c:\xxx.mp3"
ret = mciSendString("OPEN " & mp3file & " Alias Sonido", 0, 0, 0) 'ouvre
ret = mciSendString("Play sonido", 0, 0, 0) 'Joue
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
ret = mciSendString("Stop sonido", 0, 0, 0) 'Pause (si on fait lecture ca reprendra la)
ret = mciSendString("Close sonido", 0, 0, 0) 'Arret (si on fait lecture ca recommence au debut)
End Sub

Conclusion :


Ce source a été obtenue sur WebZone (c mon site : http://webzone.webhostme.com/)

A voir également

Ajouter un commentaire Commentaires
PierreAd Messages postés 63 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 20 février 2006
11 oct. 2005 à 18:48
Je vois que j'ai posté ici, j'avais oublié...Probleme réglé, je ne sais plus d'ou ça venait !
PierreAd Messages postés 63 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 20 février 2006
19 mai 2005 à 17:56
Salut tout le monde !!!

Perso j'ai un ptit soucis, je ne parviens pas a utiliser mciSendString, même en utilisant la méthode getshortpathname ou en mettant le chemin entre guillemets...

Lorsque je lis un fichier dont le chemin ne comporte aucun espace, ça fonctionne, sinon impossible de lire le moindre son !!!

Si vous pouvez m'aider, je vous serais très reconnaissant ^^

++,


PierreAd
JonasVB Messages postés 61 Date d'inscription dimanche 21 décembre 2003 Statut Membre Dernière intervention 18 janvier 2009
31 déc. 2003 à 13:56
Cool c'est bien de pas devoir utiliser d'OCX ! :)

Juste une petite question :
Tu sais si le code fonctionne avec toutes versions de Windows ?
jefftabasco Messages postés 8 Date d'inscription samedi 26 avril 2003 Statut Membre Dernière intervention 22 juillet 2003
4 juil. 2003 à 17:45
plus simple tu met un chr(34) de chaque coté du path ;-)
cs_Khalahan Messages postés 7 Date d'inscription mercredi 11 septembre 2002 Statut Membre Dernière intervention 8 octobre 2002
4 oct. 2002 à 09:29
Pour eviter le bug avec les espaces, les fichiers de plus de 8 caracteres dans le nom du fichier , il faut utiliser : GetShortPathName
(je remet tout le code,c plus simple :))

Option Explicit

Dim ret As Long, mp3file As String, mp3shortfile As String
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength 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

Private Sub Form_Load()
mp3file = "D:Mes documentsSite Web CFPHon_es_cons01.mp3"
mp3shortfile = Space(Len(mp3file))
ret = GetShortPathName(mp3file, mp3shortfile, Len(mp3file))
mp3shortfile = Left(mp3shortfile, ret)
ret = mciSendString("OPEN " & mp3shortfile & " Alias Sonido", 0, 0, 0) 'ouvre
ret = mciSendString("Play sonido", 0, 0, 0) 'Joue
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
ret = mciSendString("Stop sonido", 0, 0, 0) 'Pause (si on fait lecture ca reprendra la)
ret = mciSendString("Close sonido", 0, 0, 0) 'Arret (si on fait lecture ca recommence au debut)
End Sub
Afficher les 15 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.