13.08.2012 Views

ACTIONSCRIPT 3 Developer’s Guide en

ACTIONSCRIPT 3 Developer’s Guide en

ACTIONSCRIPT 3 Developer’s Guide en

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>ACTIONSCRIPT</strong> 3.0 DEVELOPER’S GUIDE<br />

Working with sound<br />

import flash.display.Graphics;<br />

import flash.ev<strong>en</strong>ts.Ev<strong>en</strong>t;<br />

import flash.media.Sound;<br />

import flash.media.SoundChannel;<br />

import flash.media.SoundMixer;<br />

import flash.net.URLRequest;<br />

const PLOT_HEIGHT:int = 200;<br />

const CHANNEL_LENGTH:int = 256;<br />

var snd:Sound = new Sound();<br />

var req:URLRequest = new URLRequest("bigSound.mp3");<br />

snd.load(req);<br />

var channel:SoundChannel;<br />

channel = snd.play();<br />

addEv<strong>en</strong>tList<strong>en</strong>er(Ev<strong>en</strong>t.ENTER_FRAME, onEnterFrame);<br />

snd.addEv<strong>en</strong>tList<strong>en</strong>er(Ev<strong>en</strong>t.SOUND_COMPLETE, onPlaybackComplete);<br />

var bytes:ByteArray = new ByteArray();<br />

function onEnterFrame(ev<strong>en</strong>t:Ev<strong>en</strong>t):void<br />

{<br />

SoundMixer.computeSpectrum(bytes, false, 0);<br />

var g:Graphics = this.graphics;<br />

g.clear();<br />

g.lineStyle(0, 0x6600CC);<br />

g.beginFill(0x6600CC);<br />

g.moveTo(0, PLOT_HEIGHT);<br />

var n:Number = 0;<br />

// left channel<br />

for (var i:int = 0; i < CHANNEL_LENGTH; i++)<br />

{<br />

n = (bytes.readFloat() * PLOT_HEIGHT);<br />

g.lineTo(i * 2, PLOT_HEIGHT - n);<br />

}<br />

g.lineTo(CHANNEL_LENGTH * 2, PLOT_HEIGHT);<br />

Last updated 6/6/2012<br />

459

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!