TMediaPlayer et Wait

Résolu
sisi231 Messages postés 207 Date d'inscription mercredi 5 mars 2003 Statut Membre Dernière intervention 29 mars 2013 - 17 mai 2006 à 22:23
DeltaFX Messages postés 449 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 8 avril 2009 - 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

15 réponses

sisi231 Messages postés 207 Date d'inscription mercredi 5 mars 2003 Statut Membre Dernière intervention 29 mars 2013 5
18 mai 2006 à 02:24
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
3
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
17 mai 2006 à 22:48
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.
0
sisi231 Messages postés 207 Date d'inscription mercredi 5 mars 2003 Statut Membre Dernière intervention 29 mars 2013 5
17 mai 2006 à 22:54
Pourquoi ne pas utiliser le TMediaPlayer je trouve qu'il marche très bien ?

SISI231
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
18 mai 2006 à 04:31
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 ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DeltaFX Messages postés 449 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 8 avril 2009 2
18 mai 2006 à 13:57
Et le TmediaPlayer se mets en vrac parfois avec une erreur MDI sur certains path.
0
Matt 261 Messages postés 1173 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 10 septembre 2011 3
18 mai 2006 à 17:47
Oui, la bass 32 est 100000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 fois meilleure.

La paresse est la mère du génie...
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
20 mai 2006 à 22:11
DeltaFX > as-tu essayé de passer le path DOS en argument ?


MediaPlayer.FileName := ExtractShortPathName(AFileName);


TMediaPlayer.FileName n'aime pas les noms longs...
0
DeltaFX Messages postés 449 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 8 avril 2009 2
20 mai 2006 à 22:51
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.
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
20 mai 2006 à 23:37
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é..."
0
DeltaFX Messages postés 449 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 8 avril 2009 2
21 mai 2006 à 15:21
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 !
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
21 mai 2006 à 18:44
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
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
21 mai 2006 à 18:47
Et il fonctionne sous 98 et XP...
...et il plante pas
0
DeltaFX Messages postés 449 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 8 avril 2009 2
21 mai 2006 à 22:31
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.
0
DeltaFX Messages postés 449 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 8 avril 2009 2
21 mai 2006 à 22:55
J'ai mal lu, je vais tester.
0
DeltaFX Messages postés 449 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 8 avril 2009 2
21 mai 2006 à 23:18
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).
0
Rejoignez-nous