
| Page Précédente 1 2 3 4 5 6 7 8 9 Suivante | |
| Auteur | Message |
|---|---|
| 1 visiteur sur ce sujet (1 Anonyme) | |
| Page Précédente 1 2 3 4 5 6 7 8 9 Suivante | |
Makkhdyn
|
# Posté le 18/05/2006 à 20:25:01 |
Beuhhhh![]() |
Reprise du dernier message de la page précédente :
Analyser le fichier c'est bien beau mais en créer un c'est plus dur
Ceci n'est pas une signature |
DHKold
|
# Posté le 18/05/2006 à 20:33:50 |
Ex-Admin![]()
Ville : Leuze-en-hainaut |
Citation : Cdams
Bonsoir,
Quel est l'intérêt de : Citation : DHKold ne pas oubliez aussi de spécifier le content-length
Merci d'avance pour vore réponse Eh bien, lorsque tu envoie le fichier vers le navigateur, c'est toujours mieux de préciser la taille, sinon il ne la connait pas, et donc la barre de progression ne sert à rien (il affiche jsute la taille déjà téléchargée, mais ni le % ni la taille totale) |
the angel
|
# Posté le 18/05/2006 à 20:55:15 |
![]()
études : BTS IG Paris |
Bonjour, je suis face à un problème pour récupérer les infos contenus dans l'entête d'un fichier .wav, en fait php me retourne une erreur assé étonnante, par éxemple je fais un test pour ne récupérer que le type de channel, on va dire ça:
Code : PHP <?php
$sound_path = './Sons/'; $file_name = $sound_path .'0.wav'; $fp = fopen ($file_name, 'rb'); $wav_header = fread ($fp, 44); fseek ($fp, 22); //Je positionne le curseur pour récupérerle nbr de cannaux echo '<pre>'; print_r (unpack ('Lnbr_channels', fread ($fp, 2) ) ); echo '</pre>'; fclose ($fp); ?> L'erreur renvoyé est: <citation nom="">Warning: unpack() [function.unpack]: Type L: not enough input, need 4, have 2 in C:\Serveur\www\Defis\wav\temp.php on line 9</citation> Et là où je bloque c'est que j'avais crus comprendre que le nobre de cannaux tenais sur deux octets et non 4! En ésperant que ce n'est pas trop en demander, au revoir. |
Makkhdyn
|
# Posté le 18/05/2006 à 20:57:29 |
Beuhhhh![]() |
hum fait un fread sur trois octets
EDIT: Mon dieu qu'ai-je dis là... En fait non au lieux d'utiliser L utilise S
En fait N est un entier long (blabla) sur 32bits, c'est a dire 4 octets Or tu ne prend que deux octets donc il faut du 16bits
EDIT²: haha DHKold grillé
Édité
le 18/05/2006 à 21:01:01
par Makkhdyn
Ceci n'est pas une signature |
DHKold
|
# Posté le 18/05/2006 à 21:00:19 |
Ex-Admin![]()
Ville : Leuze-en-hainaut |
|
jordan
|
# Posté le 18/05/2006 à 21:58:38 |
Développeur indépendant![]()
Ville : Couternon |
Citation : DHKold
Eh bien, lorsque tu envoie le fichier vers le navigateur, c'est toujours mieux de préciser la taille, sinon il ne la connait pas, et donc la barre de progression ne sert à rien (il affiche jsute la taille déjà téléchargée, mais ni le % ni la taille totale)
Euh, on est pas sensés afficher les informations sur le fichier (taille, fréquence...) ? Alors où est l'utilité des headers puisque on peut pas DL le fichier et afficher ces informations en même temps ?
|
DHKold
|
# Posté le 18/05/2006 à 22:34:09 |
Ex-Admin![]()
Ville : Leuze-en-hainaut |
|
minirop
|
# Posté le 19/05/2006 à 02:21:50 |
私の世界![]()
Ville : Reims |
j'ai un petit problème avec la fonction pack(), pour enpaqueter une chaine de X caractères suivit d'un entier, est ce que c'est bien :
$data = pack('a4V',$d1,$d2); ? merci. Mes figurines - Mes Manga - vive la contrefaçon \o/ - lecteur audio en console - Bot IRC fait avec QtIDE multiplateforme pour Qt !! Qt @ IRC --> #qt-fr@irc.freenode.net !! |
Savageman
|
# Posté le 19/05/2006 à 07:40:09 |
![]()
études : INSA Lyon |
Si ta chaine fait 4 caractères et est dans la variable $d1 et si ton entier est sur 4 octets et que il est dans la variable $d2, je dirais oui
|
NeoZer0
|
# Posté le 19/05/2006 à 08:11:23 |
Nostalgeek![]()
études : EI Toulouse |
Citation : jordan
Citation : NeoZer0
héhé prèsque résolut mon problème
ca marche si on fait un objectif optionel et pas un secondaire ca pénalise??? Ouaih Zéro direct (normal c'est le nom de site)... Ok je sors -----> Mais qu'est ce qu'il dit??? n'oubliez pas de ![]() Un code php commence par <?php et fini par ?> ne l'oublier pas dans le zCode |
Julie
|
# Posté le 19/05/2006 à 09:01:53 |
Un regard peut créer l'univers![]()
|
Bonjour les zéros (plutôt experts les zeros)
Sur le site php.net les renseignement sur pack et unpack sont plutot tres minime, je suis à la recherche d'un site qui pourrait me donner les explications et les possibilités des options de la fonction. ex: dans $data = pack('a4V',$d1,$d2); pourquoi 'a4V' comment choisir ces paramètres, quelles sont les combinaisons possible? sur PHP.NET ils donnent juste un tableau, que j'ai eu du mal a comprendre, puis en dessous ils donnent un exemple : $binarydata = pack ("nvc*", 0x1234, 0x5678, 65, 66); "La chaîne binaire résultante aura 6 octets de long, et contiendra la séquence 0x12, 0x34, 0x78, 0x56, 0x41, 0x42." alors là je comprends encore moins
Si vous pouviez me donner un peu des conseils à ce sujet
ca serait vraiment cool de votre part
Cherche Graphiste |
SouCaline
|
# Posté le 19/05/2006 à 09:52:33 |
Utilisateur Mac OS X.6.2![]()
|
|
NeoZer0
|
# Posté le 19/05/2006 à 09:55:28 |
Nostalgeek![]()
études : EI Toulouse |
ca dépend ce que tu veux "packer" exemple tu veux "packer" un entier cour un long et une chaine de caractère:
pack('Slc',$entiercour,$entierlong,$chaine); n'oubliez pas de ![]() Un code php commence par <?php et fini par ?> ne l'oublier pas dans le zCode |
Julie
|
# Posté le 19/05/2006 à 10:52:50 |
Un regard peut créer l'univers![]()
|
Justement NeoZero je cherche un endroit ou je pourrais apprendre tout ça, pour connaitre les combinaisons, enfin tout ce qu'il faut savoir.
Car ca peut aussi bien servir pour ce defi, mais ca pourra me servir pour plus tard, puisqu'un jour j'en ai eu besoin, et n'ayant pas compris j'avais laissé tombé. Aujourd'hui je persiste et je remonterais le défi
Cherche Graphiste |
NeoZer0
|
# Posté le 19/05/2006 à 11:00:27 |
Nostalgeek![]()
études : EI Toulouse |
bha je connaissais pas avant sur la page la doc de pack tout est expliqué. je vois pas quoi te dire de plus
n'oubliez pas de ![]() Un code php commence par <?php et fini par ?> ne l'oublier pas dans le zCode |
DHKold
|
# Posté le 19/05/2006 à 11:04:29 |
Ex-Admin![]()
Ville : Leuze-en-hainaut |
Julie >
"a4V" = chaine de 4 caractères suivie d'un entier long. C'est pour indiquer à pack / unpack ce qui se trouve dans la chaine. On indique le type (par la lettre qui correspond), puis la répétition. Par exemple, pour avoir 2 entier longs, puis 3 caractères, puis un entier court, c'est "V2c3v1" ou, puisqu'on n'est pas obligé de mettre les 1: "V2c3v" "La chaîne binaire résultante aura 6 octets de long, et contiendra la séquence 0x12, 0x34, 0x78, 0x56, 0x41, 0x42." =>Ca veut dire que pack renvoie une chaine de 6 octet. Et la valeur de ces 6 octets est 0x12 (ce qui fait 18), 0x34 ( = 24), 0x78 ,... j'ai fait un post sur une autre page ou j'ai un peu expliqué le principe
|
NeoZer0
|
# Posté le 19/05/2006 à 11:40:08 |
Nostalgeek![]()
études : EI Toulouse |
Citation : DHKold
- Créer une fonction qui analyse un fichier WAV classique et renvoie un tableau avec des informations:
C'est bien le nombres de Bits par seconde et pas le nombre de Bytes par seconde?
Édité
le 19/05/2006 à 11:42:33
par NeoZer0
n'oubliez pas de ![]() Un code php commence par <?php et fini par ?> ne l'oublier pas dans le zCode |
Cdams
|
# Posté le 19/05/2006 à 11:42:39 |
Aérostier :)![]()
études : TELECOM Bretagne |
Euh petite question...
Est-il possible de forcer le téléchargement d'un fichier .wav
J'ai tenté ça : Code : PHP header( 'Content-type: audio/wav' ); header( 'Content-length: '.$poids[0]); header('Content-Disposition: attachment; filename=Son.wav'); Avec ensuite le contenu de mon .wav, mais la seule chose que ca me fait c'est me le diffuser directement sur windows média.. NéoZéro : Je pense que tu vas chercher la petite bête un peu trop loin
Pour les fichiers donner en exemple je trouve : Bits par seconde : 16 Enfin si DHKold, nous donne un exemple de ce que l'on doit trouver, ça mettra tout le monde d'accord
Édité
le 19/05/2006 à 11:45:37
par Cdams
|
NeoZer0
|
# Posté le 19/05/2006 à 11:54:46 |
Nostalgeek![]()
études : EI Toulouse |
ce que tu donne c'est le nombre de bits par échantillons
n'oubliez pas de ![]() Un code php commence par <?php et fini par ?> ne l'oublier pas dans le zCode |
Cdams
|
# Posté le 19/05/2006 à 12:05:30 |
Aérostier :)![]()
études : TELECOM Bretagne |
Oups erreur de lecture de mon tableau
Je trouve maintenant 44100 bytes par seconde soit 5512,5 (très important le ,5 ) bits par seconde.
Tu es d'accord avec cette conversion NeoZero ? Mais je pense que si on laisse 44100 bytes par seconde, ça devrait convenir... |
NeoZer0
|
# Posté le 19/05/2006 à 12:08:09 |
Nostalgeek![]()
études : EI Toulouse |
oui je suis d'accord
n'oubliez pas de ![]() Un code php commence par <?php et fini par ?> ne l'oublier pas dans le zCode |
Cdams
|
# Posté le 19/05/2006 à 12:10:24 |
Aérostier :)![]()
études : TELECOM Bretagne |
Vous allez rire, je suis plus d'accord avec moi meme
1 bytes = 1 octect = 8 bits Donc je me suis planté fallait pas diviser par 8 mais multiplier...
Boulet sur ce coup... Je sors -->[] |
DHKold
|
# Posté le 19/05/2006 à 12:11:22 |
Ex-Admin![]()
Ville : Leuze-en-hainaut |
|
NeoZer0
|
# Posté le 19/05/2006 à 12:14:07 |
Nostalgeek![]()
études : EI Toulouse |
edit ouaip moi aussi je me suis planté
n'oubliez pas de ![]() Un code php commence par <?php et fini par ?> ne l'oublier pas dans le zCode |
Cdams
|
# Posté le 19/05/2006 à 12:33:08 |
Aérostier :)![]()
études : TELECOM Bretagne |
Citation : Cdams
Euh petite question...
Est-il possible de forcer le téléchargement d'un fichier .wav
J'ai tenté ça : Code : PHP header( 'Content-type: audio/wav' ); header( 'Content-length: '.$poids[0]); header('Content-Disposition: attachment; filename=Son.wav'); Avec ensuite le contenu de mon .wav, mais la seule chose que ca me fait c'est me le diffuser directement sur windows média.. Enfin si DHKold, nous donne un exemple de ce que l'on doit trouver, ça mettra tout le monde d'accord
Vous savez si c'est faisable ce "forcage" au téléchargement ? |
Savageman
|
# Posté le 19/05/2006 à 12:38:38 |
![]()
études : INSA Lyon |
Je crois qu'il faut utiliser readfile('Son.wav') après le header('Content-length...');
|
Cdams
|
# Posté le 19/05/2006 à 12:49:01 |
Aérostier :)![]()
études : TELECOM Bretagne |
Après mes header j'ai un echo équivalent à :
Code : PHP C'est bien un équivalent à readfile() non ?
Édité
le 19/05/2006 à 12:49:22
par Cdams
|
DHKold
|
# Posté le 19/05/2006 à 13:18:21 |
Ex-Admin![]()
Ville : Leuze-en-hainaut |
|
Cdams
|
# Posté le 19/05/2006 à 15:27:53 |
Aérostier :)![]()
études : TELECOM Bretagne |
Donc si c'est pareil, pourquoi ma méthode pour forcer le téléchargement ne marche pas
Je comprends plus moi |
NeoZer0
|
# Posté le 19/05/2006 à 15:29:32 |
Nostalgeek![]()
études : EI Toulouse |
moi ça télécharge mais le fichier et vide alors que si j'ouvre le fichier créer j'entends bien ma séquence de nombre
n'oubliez pas de ![]() Un code php commence par <?php et fini par ?> ne l'oublier pas dans le zCode |
litteul
|
# Posté le 19/05/2006 à 16:32:30 |
L I T T E U L![]()
|
Citation : NeoZer0
C'est bien le nombres de Bits par seconde et pas le nombre de Bytes par seconde?
En fait je pense que c'est les beats (battements) par seconde. C'est a dire la vitesse de l'enregistrement. Voilà... a+ |
Retour au forum "PHP" ou à la liste des forums
Le Site du Zéro vous proposera bientôt de nouveaux cours partant de Zéro dans d'autres domaines que l'informatique !

