TMediaPlayer et Wait [Résolu]

sisi231 210 Messages postés mercredi 5 mars 2003Date d'inscription 29 mars 2013 Dernière intervention - 17 mai 2006 à 22:23 - Dernière réponse : DeltaFX 459 Messages postés lundi 19 avril 2004Date d'inscription 8 avril 2009 Dernière intervention
- 21 mai 2006 à 23:18
Bonjour je crées en ce moment un programme de son utilisant PascalScript, utilisant une fonction pour jouer de la musique avec un TMediaPlayer, le problème est que je voudrais que ma fonction arrête l'exécution du script et reprenne à la fin du morceau (quand un des paramètres (wait) est à true).
J'ai donc mis la propriété wait à true mais ça ne marche pas : le script continue dés le début du morceau quelquesoit la propriété wait.

Voici ma fonction pour être plus clair :

procedure TForm1.play(const music: string; wait_ : boolean);



begin



 with mediaplayer1 do
 begin
 close;
 wait:=wait_;

 filename:=music;
 open;
 play;

 end;



end;


Je voudrais donc savoir comment faire.

J'ai bien essayer d'ajouter le code suivant :

repeat
application.processmessages;
until mode<>mpplaying,

mais ça a coupé le son, écran bleu soit plantage de la carte son.

Merci de votre aide.
SISI231
Afficher la suite 

Votre réponse

15 réponses

Meilleure réponse
sisi231 210 Messages postés mercredi 5 mars 2003Date d'inscription 29 mars 2013 Dernière intervention - 18 mai 2006 à 02:24
3
Merci
Ca y est j'ai trouvé la solution en cherchent sur google.


Il faut toujours fixer la propriété wait juste avant d'appeler la méthode play car chaque opération sur un TMediaPlayer remet wait à false...
Donc j'ai fait :

procedure TForm1.play(const music: string; wait_ : boolean);



begin



 with mediaplayer1 do
 begin
 close;
 

 filename:=music;
 open;
 wait:=wait_;
play;

 end;



end;


et ça marche !! 

Que cette découverte serve aux autres...

SISI231

Merci sisi231 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de sisi231
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 17 mai 2006 à 22:48
0
Merci
comme je viens de l'indiquer dans un post precedent,

il ne faut plus utiliser le TMediaPlayer mais le

TMicrosoft_Fucking_API_With_Congratulation_You_Are_Dead_Messages










a utiliser comme suis :

var
  PlayerOrNot :
TMicrosoft_Fucking_API_With_Congratulation_You_Are_Dead_Messages;

begin
  PlayerOrNot.MakeABeautifullPoopOnMyScreenOrInMySoundSystem(true);
  PlayerOrNot.Wait := BILLOU_NOWAIT;
  PlayerOrNot.ThrowMeABlueScreenOfDeathOnMyFace;
  PlayerOrNot.FreezeAndKickAss;
end;

bien preciser True sinon tu n'auras pas la visualisation en Bleu et Blanc du MediaCacaResetator ainsi créé.

ce que tu desire faire n'est pas trés claire et le peu de code que tu nous donne ne nous precise pas grand chose mis a part peut etre : regarde la definition de la propriété Wait du TMediaPlayer car elle ne semble pas vraiment faite pour cela.
Commenter la réponse de f0xi
sisi231 210 Messages postés mercredi 5 mars 2003Date d'inscription 29 mars 2013 Dernière intervention - 17 mai 2006 à 22:54
0
Merci
Pourquoi ne pas utiliser le TMediaPlayer je trouve qu'il marche très bien ?

SISI231
Commenter la réponse de sisi231
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 18 mai 2006 à 04:31
0
Merci
pourquoi ne pas l'utiliser ?

mmm, ce n'est pas que TMediaPlayer est un mauvais composant, mais je le trouve bien trop compliquer a utiliser comparer a Bass par exemple qui est sacrement plus stable et plus puissant.

certe, Bass necessite l'utilisation de la DLL Bass ... mais sans ça, avec les plugins fournis ... ça vaux vraiment la peine d'y jeter un oeuil.

par contre ... on ne sait toujours pas avec precision ce que tu as essayer de de faire ?
Commenter la réponse de f0xi
DeltaFX 459 Messages postés lundi 19 avril 2004Date d'inscription 8 avril 2009 Dernière intervention - 18 mai 2006 à 13:57
0
Merci
Et le TmediaPlayer se mets en vrac parfois avec une erreur MDI sur certains path.
Commenter la réponse de DeltaFX
Matt 261 1201 Messages postés mercredi 2 novembre 2005Date d'inscription 10 septembre 2011 Dernière intervention - 18 mai 2006 à 17:47
0
Merci
Oui, la bass 32 est 100000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 fois meilleure.

La paresse est la mère du génie...
Commenter la réponse de Matt 261
japee 1799 Messages postés vendredi 27 décembre 2002Date d'inscription 19 juillet 2018 Dernière intervention - 20 mai 2006 à 22:11
0
Merci
DeltaFX > as-tu essayé de passer le path DOS en argument ?


MediaPlayer.FileName := ExtractShortPathName(AFileName);


TMediaPlayer.FileName n'aime pas les noms longs...
Commenter la réponse de japee
DeltaFX 459 Messages postés lundi 19 avril 2004Date d'inscription 8 avril 2009 Dernière intervention - 20 mai 2006 à 22:51
0
Merci
J'ai laché TmediaPlayer, je suis passé à WMP en activeX, puis au vue des multiples versions, j'ai largué crosoft et je suis passé à Bass.dll et je le regrette pas.
Commenter la réponse de DeltaFX
japee 1799 Messages postés vendredi 27 décembre 2002Date d'inscription 19 juillet 2018 Dernière intervention - 20 mai 2006 à 23:37
0
Merci
OK, j'ai compris...


C'était juste par rapport au fait qu'il "se met en vrac sur certains paths". Et j'aurais dû dire "avais-tu essayé..."
Commenter la réponse de japee
DeltaFX 459 Messages postés lundi 19 avril 2004Date d'inscription 8 avril 2009 Dernière intervention - 21 mai 2006 à 15:21
0
Merci
Arf :) Oué, j'avais essayé, et no luck, étant sous win98se (pô top stable), ca se vautrait quand meme. Et tres vite, ca m'a saoulé, c'était quasi épidermique comme réaction, que delphi7 traine encore cette bouse de tmediaplayer1.0, bééééééééhhhh. Beurk beurk beurk.

C'est nickel pour lire un piti wav dans le rep de ton appli un tmediaplayer, mais pour un
'F:\\MP3\Rhapsody\03 - Symphony Of Enchanted Lands\10 - Symphony Of The Enchanted Lands.mp3'

ben... NON !
Commenter la réponse de DeltaFX
japee 1799 Messages postés vendredi 27 décembre 2002Date d'inscription 19 juillet 2018 Dernière intervention - 21 mai 2006 à 18:44
0
Merci
Je suis désolé d'avoir l'air d'insister, mais mon player perso à base de TMediaPlayer, je m'en sers depuis plus un an (à la place de WinAmp), et il tourne en boucle, et il m'ouvre ce genre de fichier :



'H:\MUSIQUE-RADIO SAUVE\ETNFM Trance channel - trance livesets and DJ shows 247\DJ Pure - Live at Moa Club Geneva (TranceEscape Live) 04-09-2004.mp3'.


Bon, reste qu'il utilise l'api Windows... et si on n'aime pas, faut pas se forcer
Commenter la réponse de japee
japee 1799 Messages postés vendredi 27 décembre 2002Date d'inscription 19 juillet 2018 Dernière intervention - 21 mai 2006 à 18:47
0
Merci
Et il fonctionne sous 98 et XP...
...et il plante pas
Commenter la réponse de japee
DeltaFX 459 Messages postés lundi 19 avril 2004Date d'inscription 8 avril 2009 Dernière intervention - 21 mai 2006 à 22:31
0
Merci
Ah ? Tu m'interresses toi qqpart, car il bouffe quand meme moins de ressources que Bass.dll, ce Tmedia player.

T'aurais un bout de code pour illustrer ce passage de path en mode DOS ? Je me souviens plus trop ce que j'avais testé à l'époque.

C'est pas que j'aime pas l'API zindoz, c'est qu'au moment de m'attaquer au WMP en activeX, y avait tellement de bordel dans le MSDN, avec leur saleté de Deprecated pour le WMP6.4, la necessité de n'appeller la fonction HIDE du WMP qu'une fois la form devenue visible, sinon jamais il s'active....... que je me suis dit bon, je peux pas imposer à l'utilisateur d'avoir une version particulière de WMP, donc je lacheWMP.
Commenter la réponse de DeltaFX
DeltaFX 459 Messages postés lundi 19 avril 2004Date d'inscription 8 avril 2009 Dernière intervention - 21 mai 2006 à 22:55
0
Merci
J'ai mal lu, je vais tester.
Commenter la réponse de DeltaFX
DeltaFX 459 Messages postés lundi 19 avril 2004Date d'inscription 8 avril 2009 Dernière intervention - 21 mai 2006 à 23:18
0
Merci
Bon, ben que n'ai-je su cela à l'époque..... ca a l'air de marcher. Merci Japee

Désormais a chaque fois qu'un noob arriverapas a se servir d'un Tmediaplayer, je préciserais l'usage de ExtractShortPathName(Myfile).
Commenter la réponse de DeltaFX

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.