Aller au menu - Aller au contenu

[Défi] Ou comment aider les aveugles

Du 16 mai au 1 juillet

Pour accéder à cette section
Connectez-vous !
connexion_rpx
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
Hors ligne Makkhdyn # Posté le 18/05/2006 à 20:25:01
Beuhhhh
Avatar

études : SUPINFO Languedoc-Roussillon à Montpellier

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
 
Hors ligne DHKold # Posté le 18/05/2006 à 20:33:50
Ex-Admin
Avatar

Ville : Leuze-en-hainaut
Pays : Belgique

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)

Image utilisateur
Ouverture quand j'aurrai le temps :-°
----------
Pack DHemoticons (Utilisation Libre) : Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur
 
Hors ligne the angel # Posté le 18/05/2006 à 20:55:15
Avatar

é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.
Hors ligne Makkhdyn # Posté le 18/05/2006 à 20:57:29
Beuhhhh
Avatar

études : SUPINFO Languedoc-Roussillon à Montpellier

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é :p
Édité le 18/05/2006 à 21:01:01 par Makkhdyn

Ceci n'est pas une signature
 
Hors ligne DHKold # Posté le 18/05/2006 à 21:00:19
Ex-Admin
Avatar

Ville : Leuze-en-hainaut
Pays : Belgique

Type L: not enough input, need 4, have 2

Ca veut dire que L est sur 4octets, or tu n'en lis que 2 ^^

Image utilisateur
Ouverture quand j'aurrai le temps :-°
----------
Pack DHemoticons (Utilisation Libre) : Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur
 
Hors ligne jordan # Posté le 18/05/2006 à 21:58:38
Développeur indépendant
Avatar
Flux RSS

Ville : Couternon
Pays : France métropolitaine
études : Université de Dijon

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: 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 ? o_O
Hors ligne DHKold # Posté le 18/05/2006 à 22:34:09
Ex-Admin
Avatar

Ville : Leuze-en-hainaut
Pays : Belgique

les headers c'est pour la fonction qui join plusieurs sons ;) Mais c'est pas obligatoire ^^

Image utilisateur
Ouverture quand j'aurrai le temps :-°
----------
Pack DHemoticons (Utilisation Libre) : Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur
 
Connecté minirop # Posté le 19/05/2006 à 02:21:50
私の世界
Avatar
Anciens

Ville : Reims
Pays : France métropolitaine
études : SUPINFO Champagne-Ardenne à 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.
 
Hors ligne Savageman # Posté le 19/05/2006 à 07:40:09
Avatar
Flux RSS

é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 :)
 
Hors ligne NeoZer0 # Posté le 19/05/2006 à 08:11:23
Nostalgeek
Avatar

études : EI Toulouse

Citation : jordan
Citation : NeoZer0
héhé prèsque résolut mon problème :D
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 Image utilisateur ;)
Un code php commence par <?php et fini par ?> ne l'oublier pas dans le zCode
 
Hors ligne Julie # Posté le 19/05/2006 à 09:01:53
Un regard peut créer l'univers
Avatar

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 :D
ca serait vraiment cool de votre part ;)

Cherche Graphiste ;)
 
Hors ligne SouCaline # Posté le 19/05/2006 à 09:52:33
Utilisateur Mac OS X.6.2
Avatar
Flux RSS

Franchement pas mal! Je ne sais pas encore comment est fait le fichier wav mais je sens que ce défi pourra m'apprendre beaucoup et me servir pour mon site :)

Image utilisateur
 
Hors ligne NeoZer0 # Posté le 19/05/2006 à 09:55:28
Nostalgeek
Avatar

é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 Image utilisateur ;)
Un code php commence par <?php et fini par ?> ne l'oublier pas dans le zCode
 
Hors ligne Julie # Posté le 19/05/2006 à 10:52:50
Un regard peut créer l'univers
Avatar

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 :D et je remonterais le défi :D

Cherche Graphiste ;)
 
Hors ligne NeoZer0 # Posté le 19/05/2006 à 11:00:27
Nostalgeek
Avatar

é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 Image utilisateur ;)
Un code php commence par <?php et fini par ?> ne l'oublier pas dans le zCode
 
Hors ligne DHKold # Posté le 19/05/2006 à 11:04:29
Ex-Admin
Avatar

Ville : Leuze-en-hainaut
Pays : Belgique

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 :)

Image utilisateur
Ouverture quand j'aurrai le temps :-°
----------
Pack DHemoticons (Utilisation Libre) : Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur
 
Hors ligne NeoZer0 # Posté le 19/05/2006 à 11:40:08
Nostalgeek
Avatar

études : EI Toulouse

Citation : DHKold

- Créer une fonction qui analyse un fichier WAV classique et renvoie un tableau avec des informations:
  • Taille de la piste
  • Echantillonage (Fréquence, Bits par secondes, etc...)
  • Longeur de piste en secondes
  • Nombres de cannaux (mono, stéréo)


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 Image utilisateur ;)
Un code php commence par <?php et fini par ?> ne l'oublier pas dans le zCode
 
Hors ligne Cdams # Posté le 19/05/2006 à 11:42:39
Aérostier :)
Avatar

études : TELECOM Bretagne

Euh petite question... :euh: :euh: :euh:

Est-il possible de forcer le téléchargement d'un fichier .wav :o

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

Mon site : CameronFrance.com

Have Fun, et si vous voulez acheter une montgolfière, n'hésitez pas ;)
 
Hors ligne NeoZer0 # Posté le 19/05/2006 à 11:54:46
Nostalgeek
Avatar

études : EI Toulouse

ce que tu donne c'est le nombre de bits par échantillons

n'oubliez pas de Image utilisateur ;)
Un code php commence par <?php et fini par ?> ne l'oublier pas dans le zCode
 
Hors ligne Cdams # Posté le 19/05/2006 à 12:05:30
Aérostier :)
Avatar

é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 :p ) 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...

Mon site : CameronFrance.com

Have Fun, et si vous voulez acheter une montgolfière, n'hésitez pas ;)
 
Hors ligne NeoZer0 # Posté le 19/05/2006 à 12:08:09
Nostalgeek
Avatar

études : EI Toulouse

oui je suis d'accord :D

n'oubliez pas de Image utilisateur ;)
Un code php commence par <?php et fini par ?> ne l'oublier pas dans le zCode
 
Hors ligne Cdams # Posté le 19/05/2006 à 12:10:24
Aérostier :)
Avatar

é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 -->[]

Mon site : CameronFrance.com

Have Fun, et si vous voulez acheter une montgolfière, n'hésitez pas ;)
 
Hors ligne DHKold # Posté le 19/05/2006 à 12:11:22
Ex-Admin
Avatar

Ville : Leuze-en-hainaut
Pays : Belgique

oui, vaut pouvez laisser en Bps ^^

par contre, 44100 bytes = 352800 bits :-°

Image utilisateur
Ouverture quand j'aurrai le temps :-°
----------
Pack DHemoticons (Utilisation Libre) : Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur
 
Hors ligne NeoZer0 # Posté le 19/05/2006 à 12:14:07
Nostalgeek
Avatar

études : EI Toulouse

edit ouaip moi aussi je me suis planté :p

n'oubliez pas de Image utilisateur ;)
Un code php commence par <?php et fini par ?> ne l'oublier pas dans le zCode
 
Hors ligne Cdams # Posté le 19/05/2006 à 12:33:08
Aérostier :)
Avatar

études : TELECOM Bretagne

Citation : Cdams
Euh petite question... :euh: :euh: :euh:

Est-il possible de forcer le téléchargement d'un fichier .wav :o

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 ?

Mon site : CameronFrance.com

Have Fun, et si vous voulez acheter une montgolfière, n'hésitez pas ;)
 
Hors ligne Savageman # Posté le 19/05/2006 à 12:38:38
Avatar
Flux RSS

études : INSA Lyon

Je crois qu'il faut utiliser readfile('Son.wav') après le header('Content-length...');
 
Hors ligne Cdams # Posté le 19/05/2006 à 12:49:01
Aérostier :)
Avatar

études : TELECOM Bretagne

Après mes header j'ai un echo équivalent à :

Code : PHP
fread ($fp, filesize($fichier));


C'est bien un équivalent à readfile() non ?
Édité le 19/05/2006 à 12:49:22 par Cdams

Mon site : CameronFrance.com

Have Fun, et si vous voulez acheter une montgolfière, n'hésitez pas ;)
 
Hors ligne DHKold # Posté le 19/05/2006 à 13:18:21
Ex-Admin
Avatar

Ville : Leuze-en-hainaut
Pays : Belgique

oui, sauf que readfile envoie directement le contenu du fichier vers la sortie standart, donc pas besoind de echo :)

Image utilisateur
Ouverture quand j'aurrai le temps :-°
----------
Pack DHemoticons (Utilisation Libre) : Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur Image utilisateur
 
Hors ligne Cdams # Posté le 19/05/2006 à 15:27:53
Aérostier :)
Avatar

é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

Mon site : CameronFrance.com

Have Fun, et si vous voulez acheter une montgolfière, n'hésitez pas ;)
 
Hors ligne NeoZer0 # Posté le 19/05/2006 à 15:29:32
Nostalgeek
Avatar

é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 Image utilisateur ;)
Un code php commence par <?php et fini par ?> ne l'oublier pas dans le zCode
 
Hors ligne litteul # Posté le 19/05/2006 à 16:32:30
L I T T E U L
Avatar

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

Pour accéder à cette section
Connectez-vous !
connexion_rpx