Показать сообщение отдельно
Старый 30.05.2007, 11:39
jinzito вне форума Посмотреть профиль Отправить личное сообщение для jinzito Найти все сообщения от jinzito
  № 3  
Ответить с цитированием
jinzito
 
Аватар для jinzito

Регистрация: Dec 2006
Сообщений: 33
Вот как я проверял... Пока не включишь музыку ничего не происходит..
может я чего то не понимаю или неправильно делаю...

Код:
package {
	import flash.display.*;
	import flash.media.*;
	import flash.events.*;
	import flash.utils.ByteArray;
	import flash.net.URLRequest;
	import flash.system.*;

	public class Sin extends Sprite
	{
		private var snd:Sound  = new Sound();
		private var mix:SoundMixer = new SoundMixer();
		private var spectrumInfo:ByteArray = new ByteArray();
		private var mc:MovieClip = new MovieClip();
		private var mic:Microphone; 
		
		public function Sin()
		{
			this.stage.scaleMode = StageScaleMode.NO_SCALE;
			this.stage.align = StageAlign.TOP_LEFT;
			this.addEventListener(Event.ENTER_FRAME, enterFrame);
			snd.load(new URLRequest("sound.mp3"));
			mc.graphics.lineStyle(1,0x000000);
			mc.graphics.beginFill(0x0000ff, .5);
			mc.graphics.drawRect(0,0,100,100);
			mc.graphics.endFill();
			this.addChild(mc);
			this.mic = Microphone.getMicrophone();
			Security.showSettings(SecurityPanel.MICROPHONE);
			this.mic.setLoopBack(true);
			this.mic.gain = 100;
			this.mic.setSilenceLevel(0,-1);
			this.mc.addEventListener(MouseEvent.CLICK, clickHandler);
		}
		
		private function clickHandler(e:Event):void
		{
			this.snd.play();
		}
		
		private function enterFrame(e:Event):void
		{
			SoundMixer.computeSpectrum(this.spectrumInfo, false, 2);
			this.graphics.clear();
			this.graphics.lineStyle(1,0x000000);
			this.graphics.beginFill(0x111000);	
			var w:uint = 2;
			for (var i:Number =0; i < 256; i+=w)
			{
				var t:Number = this.spectrumInfo.readFloat();
				var n:Number = (t * 100);
				this.graphics.drawRect(i, 150, w, -n);
			}
		}
	}//class
}


Последний раз редактировалось jinzito; 30.05.2007 в 14:24.