IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Upload] Fonction pour connaitre les informations techniques d'un fichier *.wav


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [Upload] Fonction pour connaitre les informations techniques d'un fichier *.wav
    Bonjour à tous,

    Après de multiple recherche sur divers forums sans succès, je me suis décider à poster ce message.

    En fait, j'ai un formulaire banal ou je peut upload des fichiers.
    Au niveau des contraintes , il faut que ce fichier soit en *.wav (jusque là rien de bien difficile).
    Cependant je doit également effectuer des vérifications au niveau de la qualité du son(telephone quality), de la technique d'encodage(PCM ou mu-law), de la fréquence[sampling rate] (44.1 KHz, 22.05 KHz...), sample size de 16 ou 8bits ....

    J'ai cherché et comme réponse on m'a renvoyé sur php.net. Hélas après des essais sur différentes fonctions d'ouverture de fichier, je ne suis pas arrivé à mon but.
    Certains disent qu'ils faut aller dans l'en-tête du fichier. Je ne sais pas trop comment y accéder mais lorsque j'ouvre le fichier il me marque juste RIFF, WAVEfmt et tout le reste du fichier est composé de signes incompréhensibles.

    Si vous avez des réponses plus concrètes, merci de me le dire parce que la je ne sais plus ni ou chercher ni comment faire.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Bonjour,

    ffmpeg-php devrait te permettre de recuperer ces infos.

    Sinon tu peux effectivement lire le contenu du fichier

    Je t'ai trouvé un petit exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function wavDur($file) {
            $fp = fopen($file, 'r');
          if (fread($fp,4) == "RIFF") {
          fseek($fp, 20);
          $rawheader = fread($fp, 16);
          $header = unpack('vtype/vchannels/Vsamplerate/Vbytespersec/valignment/vbits',$rawheader);
          $pos = ftell($fp);
          while (fread($fp,4) != "data" && !feof($fp)) {
          $pos++;
          fseek($fp,$pos);
          }
          $rawheader = fread($fp, 4);
          $data = unpack('Vdatasize',$rawheader);
          $sec = $data[datasize]/$header[bytespersec];
          $minutes = intval(($sec / 60) % 60);
          $seconds = intval($sec % 60);
          return str_pad($minutes,2,"0", STR_PAD_LEFT).":".str_pad($seconds,2,"0", STR_PAD_LEFT);
          }
     }
    A mettre en relation avec la description d'un entete de Wave :
    http://www.sonicspot.com/guide/wavefiles.html
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [XL-2007] Fonction pour connaitre les différences entre 2 strings
    Par CaraLePoke dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 20/02/2013, 20h09
  2. Réponses: 5
    Dernier message: 29/04/2008, 14h30
  3. Réponses: 6
    Dernier message: 21/04/2008, 18h49
  4. Méthode ou fonction pour connaitre utilisateur
    Par Madmac dans le forum Administration système
    Réponses: 6
    Dernier message: 23/09/2004, 17h47
  5. Réponses: 2
    Dernier message: 04/09/2004, 10h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo