2 mediaplayer

Résolu
ced55957 Messages postés 108 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 19 juin 2012 - 20 févr. 2006 à 00:57
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 - 22 févr. 2006 à 19:27
bonjours

voila mon souci!!! j'ai créer un lecteur mp3 avec 2 mediaplayer (en faite 2 lecteurs mp3 dans 1) j'ai ajouter deux trackbar (1 pour le lecteur 1 et 1 pour le lecteur 2) il y en a un qui est toujours sur position max l'autre sur position min. et je voudrais que quand je diminue l'un l'autre augmente . le trackbar1 controle le volume du mediaplayer1 le trackbar2 le volume du mediaplayer2, en faite créer une table de mixage??? pouver vous m'aider

je vous remercie d'avance

16 réponses

ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
22 févr. 2006 à 19:27
Quels sont les termes que tu ne comprends pas ?

@+
Nico { http://www.ni69.new.fr/ }

<hr size="2" width="100%">
N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
3
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
20 févr. 2006 à 08:18
salut,

il suffit que tu lies les 2 trackbars par les évènements onchange:



procedure TForm1.TrackBar2Change(Sender: TObject);

begin

trackbar1.Position:= trackbar2.Max-trackbar2.Position;

end ;



procedure TForm1.TrackBar1Change(Sender: TObject);

begin

trackbar2.Position: =trackbar1.Max-trackbar1.Position;

end;





@+

jlen
0
Utilisateur anonyme
20 févr. 2006 à 08:55
Salut,


Je vais me permettre juste d'expliquer l'idée (très bonne) de Jlen. Le principe est simple : le volume sonore doit etre constant quelque soit le controle de trackbar que tu fais : On a donc volume1+volume2=volume max=constante soit trackbar
0
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
20 févr. 2006 à 09:09
il n'y aqu'une petite restriction: il faut que :

trackbar1.Max = trackbar2.Max

@+

jlen
0

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

Posez votre question
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
20 févr. 2006 à 15:04
Mais à mon avis, comme il s'agit de la gestion du volume dans chacun des deux cas, la valeur Max des trackbars sera la même

@+
Nico { http://www.ni69.new.fr/ }

<hr size="2" width="100%">
N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
0
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
20 févr. 2006 à 18:18
Au lieu d'utiliser 2 trackbars ,
n'utilise qu'une trackbar qui qd elle est en position du milleu correspond a la valeur par defaut des 2 lecteurs , et qd elle est au min/max correspond au min/max d'un des 2 lecteurs ce qui facilite un peu les choses si tu veux faire du mix

Ciao
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
20 févr. 2006 à 23:18
Une gestion de balance en quelque sorte... L'idée est bonne Nicolas___ !
Par contre, si jamais il y a plus de 2 MediaPlayers, ça ne marchera plus...

@+
Nico { http://www.ni69.new.fr/ }

<hr size="2" width="100%">
N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 37
21 févr. 2006 à 05:19
a chaque outils sont utilisation. MediaPlayer n'est pas prevus pour cela, vas plutot faire un tours du coté de Bass et FMod qui sont deux api son complete et qui permette de gerer le multipiste.

<hr size="2" width="100%">La theorie c'est quand on sait tout, mais que rien ne fonctionne.
La pratique c'est quand tout fonctionne, mais que personne ne sait pourquoi.
<hr>
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
21 févr. 2006 à 10:29
Très juste fOxi

@+
Nico { http://www.ni69.new.fr/ }

<hr size="2" width="100%">
N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
0
ced55957 Messages postés 108 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 19 juin 2012
21 févr. 2006 à 11:31
merci bien pour toute les donnée que vous m'avez fournit mais je suis trés debutant dans la matiere lol!!!!comment doije faire pour diminuer le son d'un mediaplayer et pas du son general????
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
21 févr. 2006 à 17:15
Tourne-toi plutôt vers ce que fOxi t'a conseillé : utilise les API :)

@+
Nico
0
ced55957 Messages postés 108 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 19 juin 2012
21 févr. 2006 à 17:59
oui pour moi aussi l'idée de foxi est tres bonne mais comment doije faire pour faire ce systeme de balance avec les 2 médiaplayer????

cordialement
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 37
22 févr. 2006 à 08:39
alors, sur un systeme windows et avec 2 mediaplayer tu vas avoir 4 control de volume :

Master Volume : le volume general de la carte son
Wave Volume : le volume general des sources "wave" (mp3, ogg, video, cd audio ect...)
MP1 Volume : le volume general du mediaplayer 1
MP2 Volume : le volume general du mediaplayer 2

voici le shema de liaison :

[MP1 vol]_____
[MP2 vol]____ \
\ \
[Wave vol]----->[master vol]

Dans ce systeme, il faudrat toucher au son de MP1 et MP2 pour obtenir un effet "cross-over" ce qui ne serat pas trés pratique d'ailleur. un peu comme si on devais utiliser deux chaine hifi et bouger le volume des deux en meme temps.

Maintenant comment un systeme de mix double/multi pistes fonctionne :
piste 1 volume
piste 2 volume
piste 1/2 crossover
master mix volume

voici le shema de liaison :

[P1 vol]______ _
[P2 vol]_____ \ |

[Pn vol]____ \ \ _|-->[track selector]-->[head phone out]

\ \ \
[cross-over]----->[master out]--//-->[sound system]

Ici, le cross-over permet de garder le volume des pistes a leur position actuelle et de passer doucement ou rapidement d'une piste a l'autre sur la sortie son.
Le cross-over est egalement trés utiliser pour le "scratching" sur disque vynil.
Dans le cas d'une table 4 pistes ou plus, on peu avoir plusieurs Cross-over ou encore un selecteur de piste sur lequelles on vas travailler.

dans bass ou fmod , on possede en effet de deux reglage possible pour le volume :

le volume principal du canal audio et le volume de la source audio.

ensuite le tout et de travailler sur le pourcentage.
un crossover vas envoyer x% de piste 1 (quelque soit le volume) et y% de piste 2 (quelque soit le volume) sur la sortie son.
une trackbar servant de crossover serat donc quotée de -100 a 100, en calculant le ratio par rapport au volume courrant de la piste on obtiendras un chiffre nous permettant d'incrementer ou decrementer la valeur du volume de cette piste.

par exemple :

volume piste 1 = 255
volume piste 2 = 128
ratio p1 = 2.55
ratio p2 = 1.28
cross-over = 2.55 : 1.28

direction du cross-over :
[--------<-------] P1+2.55 [0..100], P2-1.28 [0..-100]

[-------->-------] P1-2.55 [0..100], P2+1.28 [0..-100]

valeur des volume par rapport au cross-over :100%L : P1 255, P2 0

100%R : P1 0, P2 1280%LR : P1 255, P2 12850%L : P1 255, P2 6450%R : P1 128, P2 128

<hr size="2" width="100%">La theorie c'est quand on sait tout, mais que rien ne fonctionne.
La pratique c'est quand tout fonctionne, mais que personne ne sait pourquoi.
<hr>
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 37
22 févr. 2006 à 09:06
voici un exemple de fonctionnement des trackbars :

{
trackbar1 min/max : -100..100
trackbar2 min/max : 0..255
trackbar3 min/max : 0..255

}

var v1,v2 : integer;
p1,p2 : single;

// piste 1 volume
procedure TForm1.TrackBar2Change(Sender: TObject);
begin
// -255 car en position vertical la trackbar est inversée

v1 := 255-TrackBar2.Position;
// affichage du volume de piste 1

label1.Caption := format('%.3d',[v1]);
end;

// piste 2 volume
procedure TForm1.TrackBar3Change(Sender: TObject);
begin
// -255 car en position vertical la trackbar est inversée

v2 := 255-TrackBar3.Position;
// affichage du volume de piste 2

label2.Caption := format('%.3d',[v2]);
end;

// cross-over
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
if trackbar1.Position < 0 then begin
p2 := 100.0;
// < 0 on calcul le pourcentage de piste 1

p1 := 100 - abs(trackbar1.Position);
end;
if trackbar1.Position > 0 then begin
p1 := 100.0;
// > 0 on calcul le pourcentage de piste 2

p2 := 100 - abs(trackbar1.Position);
end;
if trackbar1.Position = 0 then begin
// a 0, piste 1 et piste 2 sont a 100%

p1 := 100.0;
p2 := 100.0;
end;
// affichage du pourcentage de piste 1

label3.Caption := format('%.0f%%',[p1]);

// affichage du pourcentage de piste 2

label4.Caption := format('%.0f%%',[p2]);
// affichage du nouveau volume de piste 1

label6.Caption := format('%.0f',[(v1/100)*p1]);

// affichage du nouveau volume de piste 2

label7.Caption := format('%.0f',[(v2/100)*p2]);
end;

<hr size="2" width="100%">La theorie c'est quand on sait tout, mais que rien ne fonctionne.
La pratique c'est quand tout fonctionne, mais que personne ne sait pourquoi.
<hr>
0
ced55957 Messages postés 108 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 19 juin 2012
22 févr. 2006 à 16:40
j'ai entrée le code ça ne fonctionne pas!!!!!
0
ced55957 Messages postés 108 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 19 juin 2012
22 févr. 2006 à 17:44
ffffffffffffffffffffffffffffffff!!!!lol je ne comprend rien!!!!!merci pour vos explication mais je suis vraiment debutant je ne comprend rien au terme!!!!!
0
Rejoignez-nous