Developpez.com

Le Club des Développeurs et IT Pro

Un groupe de développeurs sort Flac.js

Un décodeur JavaScript pour la lecture du contenu audio dans le navigateur sans recours aux codecs

Le 2012-06-25 19:01:36, par Hinault Romaric, Responsable .NET
HTML5, le futur standard du Web introduit la balise audio permettant de créer des applications fournissant le traitement et la synthèse audio dans le navigateur.

Les navigateurs récents comme Chrome ou Firefox, intègrent déjà des bibliothèques Javascript qui fournissent des méthodes et propriétés permettant de manipuler l’élément audio.

Cependant, les applications HTML 5 manipulant du contenu audio qui fonctionnent normalement dans un navigateur sur un système d’exploitation donné pourraient ne pas marcher correctement lors de l’exécution sur une autre plateforme.

En effet, la lecture du contenu audio demande l’utilisation de codes qui ne sont par ailleurs pas mis en œuvre au niveau du navigateur.

Pour contourner cela, un groupe de développeurs a mis au point un décodeur audio écrit en JavaScript baptisé FLAC.js.

FLAC.js utilise l’API JavaScript Web Audio, permettant de créer des effets audio, pour fournir aux applications Web la possibilité de lire des fichiers audio sans avoir recours aux codecs.

Le projet sur GitHub

Source : Présentation du projet

Et vous ?

Qu'en pensez-vous ?
  Discussion forum
11 commentaires
  • dourouc05
    Responsable Qt & Livres
    Envoyé par Hinault Romaric
    Qu'en pensez-vous ?
    Bien que fan des formats lossless, je ne suis pas sûr de leur intérêt pour le Web (ça fait quand même lourd pour une grande majorité de gens qui n'ont pas le matériel pour entendre la différence ou qui ne prêtent aucune attention à ce genre de détails). Comme POC, c'est déjà pas mal, plus qu'à attendre un format plus approprié au grand public ! (Note : après petite recherche, on tombe sur https://github.com/ofmlabs et on remarque que deux codecs Apple sont supportés : ALAC et AAC ; à côté, l'immensément populaire MP3.)

    Reste à voir ce que ça donnera niveau perfs (sur desktop, mais aussi sur mobile, avec utilisation de la batterie...).
  • AlbertSY
    Membre du Club
    Impressionant.
    En plus cela ne consomme pas trop de CPU (3% sur mon portable Core 2 duo ).
    Je charchais justement une solution pour mettre une musique de fond sur mon site sans passer par des plugins. Là je suis servi.

    Il faudrait comparer la qualité sonore avec un player classic.
    Chose que je peux pas faire sur mon portable
  • bonjour

    l'API JavaScript Web Audio permet de crée, jouer avec le son

    exemple
  • camus3
    Membre éprouvé

    bonjour

    l'API JavaScript Web Audio permet de crée, jouer avec le son

    exemple
    marche pas sur Chromium
  • transgohan
    Expert éminent
    Intéressante comme librairie.

    Concernant l'API linkée deux posts plus haut elle fonctionne sous Google Chrome 19.0.1, testée à l'instant.
  • camus3
    Membre éprouvé
    Google Chrome =/= Chromium
    teste réellement sous Chromium (21.XXX ) .
  • ZiGoM@r
    Membre averti
    "un décodeur audio en JavaScript pour la lecture du contenu audio dans le navigateur sans nécessiter de codecs"
    Toute information codée nécessitera toujours un codec. Ici, le codec c'est flac.js, évidemment moins performant que du natif et qui risque d'être téléchargé et retéléchargé je ne sais combien de fois par l'utilisateur. Les journalistes et les entreprises découvrent les applis, qui existent pourtant depuis toujours sur PC... en mieux (modulaires, etc..).
  • kolodz
    Modérateur
    Ce que j'aime bien, c'est la logique :
    Si le navigateur ne sait pas lire, il va écrire.
  • BPiero
    Membre actif
    Envoyé par Hinault Romaric

    Et vous ?
    Qu'en pensez-vous ?
    Mais c'est génial!
    En polyfill sur modernizr, ça va faire un malheur!
    @+
    Piero
  • kolodz
    Modérateur
    Pourquoi ne pas faire la conversion au niveau du serveur ? Et pas au niveau du client à la voler ?
    Car si j'ai bien pigé, l'API JavaScript Web Audio lit du son. Avec un peu de logique, il y a bien un codec sur lequel il est basé. Ou qu'il supporte systématiquement ?
    Ça serai un comble d'avoir un API standard Audio qui n'a pas un format standard pour la lecture de fichier.
    Après, je ne suis pas dans cette cours à l'audio...

    Cordialement,
    Patrick Kolodziejcyzk.