SIMULATION D'ANALISEUR DE SPECTRE

Signaler
Messages postés
65
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
28 octobre 2005
-
Messages postés
12
Date d'inscription
mercredi 24 décembre 2008
Statut
Membre
Dernière intervention
11 janvier 2010
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/30361-simulation-d-analiseur-de-spectre

Messages postés
12
Date d'inscription
mercredi 24 décembre 2008
Statut
Membre
Dernière intervention
11 janvier 2010

Comment on fais sur CS4 pour creer le spectre avec le code.
Merci de m'aider svp

K
Messages postés
56
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
22 juillet 2010

excellente source, est elle libre de droit?
Messages postés
1
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
10 février 2008

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


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)
Messages postés
61
Date d'inscription
lundi 15 décembre 2003
Statut
Membre
Dernière intervention
23 janvier 2009

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à....

Mais je le dit cette source est suberbe ! bravo !
Afficher les 12 commentaires