Jouer des fichiers mp3 (sans ocx)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 16 473 fois - Téléchargée 80 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

cs_Khalahan
Messages postés
7
Date d'inscription
mercredi 11 septembre 2002
Statut
Membre
Dernière intervention
8 octobre 2002
-
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
jefftabasco
Messages postés
8
Date d'inscription
samedi 26 avril 2003
Statut
Membre
Dernière intervention
22 juillet 2003
-
plus simple tu met un chr(34) de chaque coté du path ;-)
JonasVB
Messages postés
61
Date d'inscription
dimanche 21 décembre 2003
Statut
Membre
Dernière intervention
18 janvier 2009
-
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 ?
PierreAd
Messages postés
65
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
20 février 2006
-
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
PierreAd
Messages postés
65
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
20 février 2006
-
Je vois que j'ai posté ici, j'avais oublié...Probleme réglé, je ne sais plus d'ou ça venait !
Commenter la réponse de phid

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.