Показать сообщение отдельно
Старый 04.10.2009, 14:42
Jex вне форума Посмотреть профиль Отправить личное сообщение для Jex Найти все сообщения от Jex
  № 4  
Ответить с цитированием
Jex

Регистрация: Nov 2007
Сообщений: 61
Вот, обычный до безобразия код)

Код AS3:
import flash.display.Graphics;
import flash.events.Event;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.media.SoundMixer;
import flash.net.URLRequest;
import flash.events.ProgressEvent;
 
 
var channel:SoundChannel = new SoundChannel();
var vol:SoundTransform = new SoundTransform(0.01, 0);
var snd:Sound = new Sound(new URLRequest("/media/song.mp3"));
channel = snd.play(0,100,vol);
 
var i:Number;
var n:Number = 0;
var j:Number;
var k:Number;
var p:Number = 70;
 
 
var arr:Array = new Array();
 
for (j = 0; j < 32; j+=1)
{
	arr[j] = new Loader();
	arr[j].load(new URLRequest  ("/media/peak1.png"));
	mc. addChild (arr[j]);
	arr[j].y = 100;
	arr[j].x = j*40;
}
 
addEventListener(Event.ENTER_FRAME, visualizator);
function visualizator(event:Event):void 
{
	channel.soundTransform = vol;
 
	var bytes:ByteArray = new ByteArray();
	SoundMixer.computeSpectrum(bytes, true, 0);	
	for (i = 0; i < 256; i+=8)
	{
		n = Math.abs(bytes.readFloat())*p;		
 
		if ( n > 100 - arr[i/8].y)
		{
			arr[i/8].y = 100 - n
		}						
	}
	for (k = 0; k < 32; k+=1)
	{		
		arr[k].y +=3;
	}
}