forked from: flash on 2010-3-25
forked from flash on 2010-3-25 (diff: 42)
ActionScript3 source code
/**
* Copyright aass ( http://wonderfl.net/user/aass )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/pebv
*/
package {
import flash.display.Sprite;
import flash.display.Shape;
import flash.events.Event;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.media.SoundMixer;
import flash.media.SoundTransform;
import flash.net.URLRequest;
import flash.utils.ByteArray;
import flash.system.Security;
public class FlashTest extends Sprite {
private var _channel:SoundChannel;
private var _byteArray:ByteArray = new ByteArray;
private const CHANNEL_LENGTH:int = 256;
private var _barArray:Array = [];
public function FlashTest() {
// write as3 code here..
Security.loadPolicyFile("http://www.muraken.biz/crossdomain.xml");
var _bar:Shape;
var _offsetX:int = Math.floor((stage.stageWidth - CHANNEL_LENGTH) / 2);
for(var i:int = 0; i < CHANNEL_LENGTH; i++) {
_bar = new Shape;
_bar.graphics.beginFill(0);
_bar.graphics.drawRect(0,-1,1,1);
_bar.graphics.endFill();
addChild(_bar);
_bar.y = stage.stageHeight;
_bar.x = i + _offsetX;
_barArray[i] = _bar;
}
var _url:String = "http://www.muraken.biz/wonderfl/test.mp3";
var _req:URLRequest = new URLRequest(_url);
var _snd:Sound = new Sound;
_snd.load(_req);
_channel = _snd.play(0, int.MAX_VALUE);
addEventListener(Event.ENTER_FRAME, _update);
}
private function _update(e:Event):void {
SoundMixer.computeSpectrum(_byteArray, true);
var i:int;
var l:Number, r:Number, lr:Number;
var _bar:Shape;
for(i = 0; i < CHANNEL_LENGTH; i++){
_byteArray.position = i*4+1024;
}
}
}
}
