je m'emmele un peu les pinceaux
1)
je cherche à récupérer des infos sur le fichier musique joué
j'essaie d'afficher, entre-autre, la durée du morceau joué comme ceci :
Label5.Caption = mciSendString("status MP3_device timeformat length ",
vbNullString, 0&, 0&)
label5 à le format hh:mm;ss
visiblement cela ne fonctionne pas la réponse est toujours 290 !!
2) toujours avec mciSendString j'ai une listBox remplie de morceau prêt à
jouer
je souhaiterai lancer la totalité de la liste au player, comment dois-je m'y
prendre?
Dans une boucle de 1 à listcount-1 ? surement pas propre!
la commande ci-dessous ne permet que de lire le titre choisis
Tmp = mciSendString("play Mp3_Device", vbNullString, 0&, 0&)
et ne sais comment on détecte la fin du morceau joué
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Picalausa François
Hello,
Tu peux essayer mciSendCommand au lieu de mciSendString qui a l'avantage de ne pas présenter d'ambiguité quand à la syntaxe. timef format et length sont deux informations d'état différentes que tu peux récupérer. Pour définir le temps, il faudra plutôt procéder comme ceci (non testé): mciSendString("set device time format hms wait")
Ensuite, il ne faut pas confondre la valeur de retour avec la valeur retournée: MCIERROR mciSendString( LPCTSTR lpszCommand, LPTSTR lpszReturnString,
Ce qui donnerait le code suivant (non testé) Dim strBuffer As String strBuffer = string$(MAX, vbnullchar) if mciSendString("status MP3_device timeformat length ", strBuffer , 0&, 0&) = 0 Then Label5.Caption = left$(strBuffer,instr(1,strBuffer,vbnullchar) end if
Il y a aussi directshow qui AMHA propose en cadre de développement plus convivial...
Sinon, je ne vois pas pourquoi l'ajout de fichiers dans une boucle serait inadéquat... peux-tu nous en dire plus?
Pour détecter la fin du morceau jouer, tu peux le faire soit de manière synchrone avec mciSendString("play ... wait")soit de manière asynchrone en utilisant le flag notify : mciSendString("play ... notify", , , hWnd)
Cette deuxième méthode nécessite une fenêtre pour récupérer le message MM_MCINOTIFY et donc l'utilisation de sousclassement... Avec une message only window (Win2k,Xp,2k3), il est possible d'éviter le sous-classement, et ça ne plante pas trop ce qui est pratique en débuggage...
-- Picalausa François
"Pascal" a écrit dans le message de news: e$
bonsoir,
je m'emmele un peu les pinceaux 1) je cherche à récupérer des infos sur le fichier musique joué j'essaie d'afficher, entre-autre, la durée du morceau joué comme ceci : Label5.Caption = mciSendString("status MP3_device timeformat length ", vbNullString, 0&, 0&) label5 à le format hh:mm;ss visiblement cela ne fonctionne pas la réponse est toujours 290 !!
2) toujours avec mciSendString j'ai une listBox remplie de morceau prêt à jouer je souhaiterai lancer la totalité de la liste au player, comment dois-je m'y prendre? Dans une boucle de 1 à listcount-1 ? surement pas propre!
la commande ci-dessous ne permet que de lire le titre choisis Tmp = mciSendString("play Mp3_Device", vbNullString, 0&, 0&) et ne sais comment on détecte la fin du morceau joué
toutes idées bienvenue Merci
Pascal
Hello,
Tu peux essayer mciSendCommand au lieu de mciSendString qui a l'avantage de
ne pas présenter d'ambiguité quand à la syntaxe.
timef format et length sont deux informations d'état différentes que tu peux
récupérer. Pour définir le temps, il faudra plutôt procéder comme ceci (non
testé):
mciSendString("set device time format hms wait")
Ensuite, il ne faut pas confondre la valeur de retour avec la valeur
retournée:
MCIERROR mciSendString(
LPCTSTR lpszCommand,
LPTSTR lpszReturnString,
Ce qui donnerait le code suivant (non testé)
Dim strBuffer As String
strBuffer = string$(MAX, vbnullchar)
if mciSendString("status MP3_device timeformat length ", strBuffer , 0&, 0&)
= 0 Then
Label5.Caption = left$(strBuffer,instr(1,strBuffer,vbnullchar)
end if
Il y a aussi directshow qui AMHA propose en cadre de développement plus
convivial...
Sinon, je ne vois pas pourquoi l'ajout de fichiers dans une boucle serait
inadéquat... peux-tu nous en dire plus?
Pour détecter la fin du morceau jouer, tu peux le faire soit de manière
synchrone avec mciSendString("play ... wait")soit de manière asynchrone en
utilisant le flag notify : mciSendString("play ... notify", , , hWnd)
Cette deuxième méthode nécessite une fenêtre pour récupérer le message
MM_MCINOTIFY et donc l'utilisation de sousclassement... Avec une message
only window (Win2k,Xp,2k3), il est possible d'éviter le sous-classement, et
ça ne plante pas trop ce qui est pratique en débuggage...
--
Picalausa François
"Pascal" <inconnu@hotmail.com> a écrit dans le message de news:
e$RBmZ2AGHA.2544@TK2MSFTNGP11.phx.gbl...
bonsoir,
je m'emmele un peu les pinceaux
1)
je cherche à récupérer des infos sur le fichier musique joué
j'essaie d'afficher, entre-autre, la durée du morceau joué comme ceci :
Label5.Caption = mciSendString("status MP3_device timeformat length ",
vbNullString, 0&, 0&)
label5 à le format hh:mm;ss
visiblement cela ne fonctionne pas la réponse est toujours 290 !!
2) toujours avec mciSendString j'ai une listBox remplie de morceau prêt à
jouer
je souhaiterai lancer la totalité de la liste au player, comment dois-je
m'y
prendre?
Dans une boucle de 1 à listcount-1 ? surement pas propre!
la commande ci-dessous ne permet que de lire le titre choisis
Tmp = mciSendString("play Mp3_Device", vbNullString, 0&, 0&)
et ne sais comment on détecte la fin du morceau joué
Tu peux essayer mciSendCommand au lieu de mciSendString qui a l'avantage de ne pas présenter d'ambiguité quand à la syntaxe. timef format et length sont deux informations d'état différentes que tu peux récupérer. Pour définir le temps, il faudra plutôt procéder comme ceci (non testé): mciSendString("set device time format hms wait")
Ensuite, il ne faut pas confondre la valeur de retour avec la valeur retournée: MCIERROR mciSendString( LPCTSTR lpszCommand, LPTSTR lpszReturnString,
Ce qui donnerait le code suivant (non testé) Dim strBuffer As String strBuffer = string$(MAX, vbnullchar) if mciSendString("status MP3_device timeformat length ", strBuffer , 0&, 0&) = 0 Then Label5.Caption = left$(strBuffer,instr(1,strBuffer,vbnullchar) end if
Il y a aussi directshow qui AMHA propose en cadre de développement plus convivial...
Sinon, je ne vois pas pourquoi l'ajout de fichiers dans une boucle serait inadéquat... peux-tu nous en dire plus?
Pour détecter la fin du morceau jouer, tu peux le faire soit de manière synchrone avec mciSendString("play ... wait")soit de manière asynchrone en utilisant le flag notify : mciSendString("play ... notify", , , hWnd)
Cette deuxième méthode nécessite une fenêtre pour récupérer le message MM_MCINOTIFY et donc l'utilisation de sousclassement... Avec une message only window (Win2k,Xp,2k3), il est possible d'éviter le sous-classement, et ça ne plante pas trop ce qui est pratique en débuggage...
-- Picalausa François
"Pascal" a écrit dans le message de news: e$
bonsoir,
je m'emmele un peu les pinceaux 1) je cherche à récupérer des infos sur le fichier musique joué j'essaie d'afficher, entre-autre, la durée du morceau joué comme ceci : Label5.Caption = mciSendString("status MP3_device timeformat length ", vbNullString, 0&, 0&) label5 à le format hh:mm;ss visiblement cela ne fonctionne pas la réponse est toujours 290 !!
2) toujours avec mciSendString j'ai une listBox remplie de morceau prêt à jouer je souhaiterai lancer la totalité de la liste au player, comment dois-je m'y prendre? Dans une boucle de 1 à listcount-1 ? surement pas propre!
la commande ci-dessous ne permet que de lire le titre choisis Tmp = mciSendString("play Mp3_Device", vbNullString, 0&, 0&) et ne sais comment on détecte la fin du morceau joué
toutes idées bienvenue Merci
Pascal
Pascal
Bonsoir, merci pour la réponse détaillée, je m'empresse d'essayer cela
===================== Sinon, je ne vois pas pourquoi l'ajout de fichiers dans une boucle serait inadéquat... peux-tu nous en dire plus? ===================== rien de spécial en fait, ne connait pas le fonctionnement du mcisendString et pensais que le fait de boucler de 1 à 10 aurait déclencher le dernier seulement dans la boucle l'appel à cette commande ne suspend pas la boucle non?
pas simple cette commande
merci pour l'aide
"Picalausa François" a écrit dans le message de news:
Hello,
Tu peux essayer mciSendCommand au lieu de mciSendString qui a l'avantage
de
ne pas présenter d'ambiguité quand à la syntaxe. timef format et length sont deux informations d'état différentes que tu
peux
récupérer. Pour définir le temps, il faudra plutôt procéder comme ceci
(non
testé): mciSendString("set device time format hms wait")
Ensuite, il ne faut pas confondre la valeur de retour avec la valeur retournée: MCIERROR mciSendString( LPCTSTR lpszCommand, LPTSTR lpszReturnString,
Ce qui donnerait le code suivant (non testé) Dim strBuffer As String strBuffer = string$(MAX, vbnullchar) if mciSendString("status MP3_device timeformat length ", strBuffer , 0&,
0&)
= 0 Then Label5.Caption = left$(strBuffer,instr(1,strBuffer,vbnullchar) end if
Il y a aussi directshow qui AMHA propose en cadre de développement plus convivial...
Sinon, je ne vois pas pourquoi l'ajout de fichiers dans une boucle serait inadéquat... peux-tu nous en dire plus?
Pour détecter la fin du morceau jouer, tu peux le faire soit de manière synchrone avec mciSendString("play ... wait")soit de manière asynchrone en utilisant le flag notify : mciSendString("play ... notify", , , hWnd)
Cette deuxième méthode nécessite une fenêtre pour récupérer le message MM_MCINOTIFY et donc l'utilisation de sousclassement... Avec une message only window (Win2k,Xp,2k3), il est possible d'éviter le sous-classement,
et
ça ne plante pas trop ce qui est pratique en débuggage...
-- Picalausa François
"Pascal" a écrit dans le message de news: e$ > bonsoir, > > je m'emmele un peu les pinceaux > 1) > je cherche à récupérer des infos sur le fichier musique joué > j'essaie d'afficher, entre-autre, la durée du morceau joué comme ceci : > Label5.Caption = mciSendString("status MP3_device timeformat length ", > vbNullString, 0&, 0&) > label5 à le format hh:mm;ss > visiblement cela ne fonctionne pas la réponse est toujours 290 !! > > 2) toujours avec mciSendString j'ai une listBox remplie de morceau prêt
à
> jouer > je souhaiterai lancer la totalité de la liste au player, comment dois-je > m'y > prendre? > Dans une boucle de 1 à listcount-1 ? surement pas propre! > > la commande ci-dessous ne permet que de lire le titre choisis > Tmp = mciSendString("play Mp3_Device", vbNullString, 0&, 0&) > et ne sais comment on détecte la fin du morceau joué > > toutes idées bienvenue > Merci > > Pascal > > >
Bonsoir,
merci pour la réponse détaillée, je m'empresse d'essayer cela
===================== Sinon, je ne vois pas pourquoi l'ajout de fichiers dans une boucle serait
inadéquat... peux-tu nous en dire plus?
===================== rien de spécial en fait, ne connait pas le fonctionnement du mcisendString
et pensais que le fait de boucler de 1 à 10 aurait déclencher le dernier
seulement
dans la boucle l'appel à cette commande ne suspend pas la boucle non?
pas simple cette commande
merci pour l'aide
"Picalausa François" <fpicalausa@chez.com> a écrit dans le message de news:
enrb4I8AGHA.2664@TK2MSFTNGP15.phx.gbl...
Hello,
Tu peux essayer mciSendCommand au lieu de mciSendString qui a l'avantage
de
ne pas présenter d'ambiguité quand à la syntaxe.
timef format et length sont deux informations d'état différentes que tu
peux
récupérer. Pour définir le temps, il faudra plutôt procéder comme ceci
(non
testé):
mciSendString("set device time format hms wait")
Ensuite, il ne faut pas confondre la valeur de retour avec la valeur
retournée:
MCIERROR mciSendString(
LPCTSTR lpszCommand,
LPTSTR lpszReturnString,
Ce qui donnerait le code suivant (non testé)
Dim strBuffer As String
strBuffer = string$(MAX, vbnullchar)
if mciSendString("status MP3_device timeformat length ", strBuffer , 0&,
0&)
= 0 Then
Label5.Caption = left$(strBuffer,instr(1,strBuffer,vbnullchar)
end if
Il y a aussi directshow qui AMHA propose en cadre de développement plus
convivial...
Sinon, je ne vois pas pourquoi l'ajout de fichiers dans une boucle serait
inadéquat... peux-tu nous en dire plus?
Pour détecter la fin du morceau jouer, tu peux le faire soit de manière
synchrone avec mciSendString("play ... wait")soit de manière asynchrone en
utilisant le flag notify : mciSendString("play ... notify", , , hWnd)
Cette deuxième méthode nécessite une fenêtre pour récupérer le message
MM_MCINOTIFY et donc l'utilisation de sousclassement... Avec une message
only window (Win2k,Xp,2k3), il est possible d'éviter le sous-classement,
et
ça ne plante pas trop ce qui est pratique en débuggage...
--
Picalausa François
"Pascal" <inconnu@hotmail.com> a écrit dans le message de news:
e$RBmZ2AGHA.2544@TK2MSFTNGP11.phx.gbl...
> bonsoir,
>
> je m'emmele un peu les pinceaux
> 1)
> je cherche à récupérer des infos sur le fichier musique joué
> j'essaie d'afficher, entre-autre, la durée du morceau joué comme ceci :
> Label5.Caption = mciSendString("status MP3_device timeformat length ",
> vbNullString, 0&, 0&)
> label5 à le format hh:mm;ss
> visiblement cela ne fonctionne pas la réponse est toujours 290 !!
>
> 2) toujours avec mciSendString j'ai une listBox remplie de morceau prêt
à
> jouer
> je souhaiterai lancer la totalité de la liste au player, comment dois-je
> m'y
> prendre?
> Dans une boucle de 1 à listcount-1 ? surement pas propre!
>
> la commande ci-dessous ne permet que de lire le titre choisis
> Tmp = mciSendString("play Mp3_Device", vbNullString, 0&, 0&)
> et ne sais comment on détecte la fin du morceau joué
>
> toutes idées bienvenue
> Merci
>
> Pascal
>
>
>
Bonsoir, merci pour la réponse détaillée, je m'empresse d'essayer cela
===================== Sinon, je ne vois pas pourquoi l'ajout de fichiers dans une boucle serait inadéquat... peux-tu nous en dire plus? ===================== rien de spécial en fait, ne connait pas le fonctionnement du mcisendString et pensais que le fait de boucler de 1 à 10 aurait déclencher le dernier seulement dans la boucle l'appel à cette commande ne suspend pas la boucle non?
pas simple cette commande
merci pour l'aide
"Picalausa François" a écrit dans le message de news:
Hello,
Tu peux essayer mciSendCommand au lieu de mciSendString qui a l'avantage
de
ne pas présenter d'ambiguité quand à la syntaxe. timef format et length sont deux informations d'état différentes que tu
peux
récupérer. Pour définir le temps, il faudra plutôt procéder comme ceci
(non
testé): mciSendString("set device time format hms wait")
Ensuite, il ne faut pas confondre la valeur de retour avec la valeur retournée: MCIERROR mciSendString( LPCTSTR lpszCommand, LPTSTR lpszReturnString,
Ce qui donnerait le code suivant (non testé) Dim strBuffer As String strBuffer = string$(MAX, vbnullchar) if mciSendString("status MP3_device timeformat length ", strBuffer , 0&,
0&)
= 0 Then Label5.Caption = left$(strBuffer,instr(1,strBuffer,vbnullchar) end if
Il y a aussi directshow qui AMHA propose en cadre de développement plus convivial...
Sinon, je ne vois pas pourquoi l'ajout de fichiers dans une boucle serait inadéquat... peux-tu nous en dire plus?
Pour détecter la fin du morceau jouer, tu peux le faire soit de manière synchrone avec mciSendString("play ... wait")soit de manière asynchrone en utilisant le flag notify : mciSendString("play ... notify", , , hWnd)
Cette deuxième méthode nécessite une fenêtre pour récupérer le message MM_MCINOTIFY et donc l'utilisation de sousclassement... Avec une message only window (Win2k,Xp,2k3), il est possible d'éviter le sous-classement,
et
ça ne plante pas trop ce qui est pratique en débuggage...
-- Picalausa François
"Pascal" a écrit dans le message de news: e$ > bonsoir, > > je m'emmele un peu les pinceaux > 1) > je cherche à récupérer des infos sur le fichier musique joué > j'essaie d'afficher, entre-autre, la durée du morceau joué comme ceci : > Label5.Caption = mciSendString("status MP3_device timeformat length ", > vbNullString, 0&, 0&) > label5 à le format hh:mm;ss > visiblement cela ne fonctionne pas la réponse est toujours 290 !! > > 2) toujours avec mciSendString j'ai une listBox remplie de morceau prêt
à
> jouer > je souhaiterai lancer la totalité de la liste au player, comment dois-je > m'y > prendre? > Dans une boucle de 1 à listcount-1 ? surement pas propre! > > la commande ci-dessous ne permet que de lire le titre choisis > Tmp = mciSendString("play Mp3_Device", vbNullString, 0&, 0&) > et ne sais comment on détecte la fin du morceau joué > > toutes idées bienvenue > Merci > > Pascal > > >