|
Nouveau gestionnaire de son pour le lecteur FlashNouveau gestionnaire de son pour le lecteur FlashPour faire suite à la nouvelle de l'intégration du support de l'H.264 et de l'AAC dans la dernière version bêta du lecteur Flash 9, Tinic Uro nous informe que le gestionnaire de son du lecteur va être intégralement récrit pour améliorer le support de l'AAC. Ainsi, d'après ses dires, l'introduction future d'un support le plus complet possible du standard AAC deviendra l'occasion rêvée de récrire intégralement le gestionnaire de son du lecteur Flash actuel qui n'a pas été changé depuis l'année 1996. Cette réécriture complète n'est prévue, traduit mot à mot : "que pour une des prochaines versions majeures du lecteur". On doit donc comprendre à cela que ce ne sera effectif au mieux qu'à la sortie du lecteur Flash 10. En effet même si la bêta actuelle du lecteur Flash 9 permet de lire l'AAC lors de la lecture des vidéos au format H.264, cela ne s'effectue encore qu'avec le gestionnaire de son actuel et uniquement sur deux canaux.
Cette réécriture apportera également le support de l'AAC multi-canal. On parle ici de bien plus que du 5.1 ou 7.1 puisque le format AAC est pensé pour supporter jusqu'à 48 canaux. Il est donc logique de supposer que le gestionnaire de son offrira une API qui les rendra accessibles en Actionscript (même si il est tout aussi logique de penser que le lecteur ne supporte au final pas un nombre aussi important de canaux). La lecture des fichiers MP3 ou AAC encodés pour être lus avec toutes les fréquences standards entre 8Khz et 96Khz sera enfin possible. Mieux encore, ce n'est pas peu fier que Tinic nous informe que le moteur de son actuel du lecteur Flash 9 bêta 2 profite déjà du code qu'utilisera le future gestionnaire de son aprés sa réécriture. Ce n'est pas forcement une nouvelle révolutionnaire, mais cela suppose que dés la prochaine mise à jour du lecteur Flash, il ne sera plus possible d'avoir la mauvaise surprise de lire des fichiers accélérés par deux parce que la fréquence de lecture attendue n'est pas supportée. Tinic Uro laisse le plus intéressant dans le flou, mais j'aime à penser que le nouveau moteur de son et sa nouvelle API permettront bien plus que l'actuel. Comme en tout premier lieu la possibilité d'envoyer directement des tableaux de bytes en entrée du moteur. Mais aussi la possibilité d'ajouter des effets standards ou personalisés, de les mixer, d'avoir des facilités dans l'édition des ondes sonores autrement qu'en travaillant directement sur les tableaux de bytes. En tout cas, même si ce n'est pas pour tout de suite on peut être sûr que la réécriture du moteur ouvrira la possibilité de ces implémentations à l'avenir. C'est donc une très bonne nouvelle pour nous tous. CommentairesEst-il possible de lire actuellement un fichier aac? Marc, normalement il te suffit de lire un fichier vidéo .MP4 encodé avec le support de l’AAC comme tu lirais n’importe quel fichier FLV. Mais le rendu sonore sera fait en simple stéréo avec la version 9 du lecteur Flash si j’ai bien suivi. Je n’ai pas réussi à accéder à l’API du lecteur Flash 10 en release candidate, mais tu pourrais aussi essayer de lire ton fichier avec ce lecteur, peut-être que comme l’avais promis Tinic, la lecture se fera réellement sur autant de pistes que le fichier le détermine. Tiens nous au courant si tu as des infos. Merci tek, pour ta réponse pour information coté AS3 : Le format MPEG-4 Audio Coté code AS3 : flash.net.NetConnection : la classe NetConnection est flash.net.NetStream : la classe NetStream est utilisée pour la Le tableau suivant recense les différentes extensions de fichiers Notons que le lecteur Flash ne gère pas la lecture de fichiers AAC Dans le code suivant nous chargeons un fichier son MPEG-4 AAC : // instanciation d’un objet NetConnection // lors d’un chargement de fichier local nous nous connectons à null // création d’un objet NetStream // lecture du son Bien que cela puisse vous surprendre, sachez que la lecture de fichiers Celles-ci sont utilisées dans le cas d’applications connectée à un En testant le code précédent, le fichier son est lu mais l’erreur suivante Error #2044: AsyncErrorEvent non pris en charge : text=Error #2095: Dans le cas de chargement de fichiers à l’aide de la classe La propriété client, permet de préciser l’objet sur lequel est définie Dans le code suivant, nous utilisons le scénario principal comme // instanciation d’un objet NetConnection // lors d’un chargement de fichier local nous nous connectons à null // création d’un objet NetStream // lecture du son // le scénario joue le rôle du client /// méthode onMetaData définie sur le scénario principal /* Le paramètre pMeta reçoit un objet contenant différentes propriétés Voici en détail chacune des propriétés : · aacaot : le type de fichier audio AAC, cette propriété peut avoir la · audiochannels : le nombre de canaux du média chargé. Dans le cas · audiocodecid : le codec audio utilisé du média chargé. La chaîne de · audiosamplerate : fréquence d’échantillonnage du fichier audio. · duration : la durée en secondes du média chargé. · moovposition : La position de l’atome moov au sein du média chargé. · tags : un objet comprenant différentes informations liées au média · trackinfo : un objet contenant les eventuelles illustrations liées au Au cas où le fichier MPEG-4 n’est pas compatible nous pouvons // instanciation d’un objet NetConnection // lors d’un chargement de fichier local nous nous connectons à null // création d’un objet NetStream // écoute de l’événement NetStatusEvent.NET_STATUS function etatLecture ( pEvt:NetStatusEvent ):void L’objet événementiel diffusé par l’événement Cet objet possède les deux propriétés suivantes : · code : une chaîne de caractères indiquant l’état de la connexion. · level : renvoie la chaîne de caractère status si la connexion est Malheureusement, il n’existe pas de propriétés constantes de classe Merci à Thibault Imbert Laisser un commentaire |
||
| rss rss english xhtml 1.1 css 2.0 wdg |
Cool !
Espérons aussi une meilleurs synchronisation des évènements, ainsi que du bouclage (qui ne s’est jamais emm***** à essayer de faire bien tourner une boucle ?)