Filtre directshow audio sample WAVFORMATEX

oeildedinde Messages postés 29 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 16 janvier 2013 - 18 mars 2011 à 14:32
oeildedinde Messages postés 29 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 16 janvier 2013 - 20 mars 2011 à 13:14
Bonjour,

Sur un filtre directshow, j'ai une fonction qui récupère les datas d'un flux audio stéreo 16 bits. Elles sont stockées sur un PBYTE.
Quand je fais un truc du genre:

for (i=0; i<size; i=i+4){
r=data[i]; //ici j'ai toujour une valeur nulle
r=data[i+1];//ici une valeur de 0 à 255 du canal gauche
r=data[i+2];//ici j'ai toujour une valeur nulle
r=data[i+3];//ici une valeur de 0 à 255 du canal droit
}

Ma question est: Quelle est l'utilité des valeurs nulles.
Ont elles une utilité pour la transformation des datas en (short int).
Et si oui, comment m'y prendre pour pour transformer la paire data(i) et data(i+1) en un short int?

Désolé pour la stupidité de ma question, je débute.

2 réponses

oeildedinde Messages postés 29 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 16 janvier 2013
19 mars 2011 à 13:53
Oups je me suis trompé, il y a pas de valeur nulles.
J'ai donc un truc du genre:
for (i=0; i<size; i=i+4){
r=data[i]; //ici une valeur de 0 à 255 du canal gauche
r=data[i+1];//ici une valeur de 0 à 255 du canal gauche
r=data[i+2];//ici une valeur de 0 à 255 du canal droit
r=data[i+3];//ici une valeur de 0 à 255 du canal droit
}
Du coup, changement de question.
Comment transformer les 2 valeurs pour chaque canal en une seule valeur?
(1 valeur pour le canal droit et une autre pour le gauche)
0
oeildedinde Messages postés 29 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 16 janvier 2013
20 mars 2011 à 13:14
Bon j'ai trouvé (enfin je crois). En faisant ca, ca a l'air de marcher:

for (t=0; t<size; t=t+4)
{
short int *pp=(short int *)&data[t];
int r = *pp; // pour lire
//...............
*pp= (short)r;//pour ecrire
}
0
Rejoignez-nous