Bonjour,

Je suis sur la conception d'une image robot version vocal, pour cela j'ai desider que dans un premier temps le faire sur un format simple: le wav/pcm en 8 bits mono.

Je doit creer d'abord l'entete du fichier, je doit introduire des long (non signé ?) de 4 octets.

J'ai donc desider d'utiliser les masques et les traveaux sur les bits.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<?php
...
$a = 166;
$a <<= 4;
fwrite($a ...);
...
?>
Le probleme est que cela ne me donne pas "166" sur : (ceci est la version en langage C pour la lecture du fichier)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
unsigned long int taille; fread(&taille,1,4,fichier);
printf("Taille: %lu\n",taille);
j'ai beau essaye : $a = 166 | 4; $a <<= 4; c'est pas du tout sa.

Il nya aucun probleme sur la taille, je recupert bien un long, mais ce n'est pas du TOUT 166, mais plus des betises du genre: 825635122.


Esque quelqu'un saurais comment faire pour stoquer 166 sur un long 4 octets dans le but de l'introduire dans un fichier grace a fwrite() ?


merci d'avance.