15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Arbeiten mit Sounds<br />

Stammt einer oder mehrere der wiedergegebenen Sounds von Quellen außerhalb der aktuellen Inhalts-Sandbox,<br />

wird aufgrund der Sicherheitseinstellungen ein Fehler durch die SoundMixer.computeSpectrum()-Methode<br />

auslöst. Nähere Einzelheiten über die Sicherheitseinschränkungen der SoundMixer.computeSpectrum()-<br />

Methode finden Sie unter „Sicherheitsüberlegungen beim Laden und Wiedergeben von Sounds“ auf Seite 482 und<br />

„Zugriff auf geladene Medien als Daten“ auf Seite 1128.<br />

Jedoch unterliegt in einer AIR-Anwendung Inhalt, der in der Sicherheits-Sandbox der Anwendung ausgeführt wird<br />

(Inhalt, der mit der AIR-Anwendung installiert wird), nicht diesen Sicherheitseinschränkungen.<br />

Erstellen eines einfachen Anzeigeprogramms für Sounds<br />

Flash Player 9 und höher, Adobe AIR 1.0 und höher<br />

Im folgenden Beispiel wird die SoundMixer.computeSpectrum()-Methode verwendet, um ein Diagramm der<br />

Sound-Wellenform anzuzeigen, die mit jedem Bild animiert wird:<br />

import flash.display.Graphics;<br />

import flash.events.Event;<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 />

addEventListener(Event.ENTER_FRAME, onEnterFrame);<br />

snd.addEventListener(Event.SOUND_COMPLETE, onPlaybackComplete);<br />

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

function onEnterFrame(event:Event):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 />

Letzte Aktualisierung 27.6.2012<br />

487

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

Saved successfully!

Ooh no, something went wrong!