voici le code inclu dans l'aide de FLASH CS3 pour créer un spectre audio en action scripts 3.
En local cela fonctionne bien mais sur le net il faut créer un préload du fichier mp3
Si vous avez des idées pour créer le préload, n'hésitez pas à ajouter un commentaire.
Ce code est à placer sur la première frame
Cela vient de changer dans flash 9, l'action script 3 avec la classe SoundMixer permet de récuperer le spectre audio en cours qu'il vienne du micro ou d'un fichier interne ou externe... tout cela grace à la fonction SoundMixer.computeSpectrum...
De plus flash est a présent capable d'extraire toutes données ID3 même l'image de l'album.
Pour aller plus loin il semblerai qu'il soit également capable de modifier la vitesse de lecture du son (à vérifier...) voilà....
Malheureusement, a l'heure ou je te parle, flash n'est capable de récupérer le niveau sonore que par le micro, l'objet sound de flash mx ne gère quand a lui que le controle de la lecture, et le niveau du volume (sortie son), peut etre qu'avec un peu de chance la nouvelle version de flash 8 suara le gérer, il est prévu pour cet automne, patience...
wow cool mais moi je sais pas comment faire pour utiliser la webcam. Comment on fait ??? Merci d'avance !
Bloom1, la programmation, c'est amusant, mais ca donne mal à la tête !
Tiens, ca me rappelle une autre application que j'avais vu il y a longtemps, en fonction du bruit que faisait l'utilisateur, le programme demandait de faire moins de bruit (de "shhh" à "SHOUT UP!!!!!" selon le niveau sonore).
Et avec la prolifération de skype, je me dis que ce serait pas mal de remettre ce principe en place. Mais bon, ce n'est qu'une idée en l'air. Assez gadget, mais bluffant pour ceux qui ont leur micro branché.
Merci de m'aider svp
K
En local cela fonctionne bien mais sur le net il faut créer un préload du fichier mp3
Si vous avez des idées pour créer le préload, n'hésitez pas à ajouter un commentaire.
Ce code est à placer sur la première frame
import flash.display.Graphics;
import flash.events.Event;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.media.SoundMixer;
import flash.net.URLRequest;
const PLOT_HEIGHT:int = 200;
const CHANNEL_LENGTH:int = 256;
var snd:Sound = new Sound();
var req:URLRequest = new URLRequest("votremusic.mp3");
snd.load(req);
var channel:SoundChannel;
channel = snd.play();
addEventListener(Event.ENTER_FRAME, onEnterFrame);
snd.addEventListener(Event.SOUND_COMPLETE, onPlaybackComplete);
var bytes:ByteArray = new ByteArray();
function onEnterFrame(event:Event):void
{
SoundMixer.computeSpectrum(bytes, true, 0);
var g:Graphics = this.graphics;
g.clear();
g.lineStyle(0, 0x6600CC);
g.beginFill(0x6600CC);
g.moveTo(0, PLOT_HEIGHT);
var n:Number = 0;
// left channel
for (var i:int = 0; i < CHANNEL_LENGTH; i++)
{
n = (bytes.readFloat() * PLOT_HEIGHT);
g.lineTo(i * 2, PLOT_HEIGHT - n);
}
g.lineTo(CHANNEL_LENGTH * 2, PLOT_HEIGHT);
g.endFill();
// right channel
g.lineStyle(0, 0xCC0066);
g.beginFill(0xCC0066, 0.5);
g.moveTo(CHANNEL_LENGTH * 2, PLOT_HEIGHT);
for (i = CHANNEL_LENGTH; i > 0; i--)
{
n = (bytes.readFloat() * PLOT_HEIGHT);
g.lineTo(i * 2, PLOT_HEIGHT - n);
}
g.lineTo(0, PLOT_HEIGHT);
g.endFill();
}
function onPlaybackComplete(event:Event)
De plus flash est a présent capable d'extraire toutes données ID3 même l'image de l'album.
Pour aller plus loin il semblerai qu'il soit également capable de modifier la vitesse de lecture du son (à vérifier...) voilà....
Mais je le dit cette source est suberbe ! bravo !