Macromedia flash media server 2-client-side actionscript language reference for flash media server 2 Benutzerhandbuch

Seite von 156
58
Client-Side ActionScript Language Reference
Example
The following example changes the silence level based on the user's input in a 
NumericStepper instance called 
silenceLevel_nstep
. The ProgressBar instance called 
silenceLevel_pb
 modifies its appearance depending on whether the audio stream is 
considered silent. If the audio stream is not silent, the progress bar displays the activity level of 
the audio stream.
var silenceLevel_pb:mx.controls.ProgressBar;
var silenceLevel_nstep:mx.controls.NumericStepper;
this.createEmptyMovieClip("sound_mc", this.getNextHighestDepth());
var active_mic:Microphone = Microphone.get();
sound_mc.attachAudio(active_mic);
silenceLevel_pb.label = "Activity level: %3";
silenceLevel_pb.mode = "manual";
silenceLevel_nstep.minimum = 0;
silenceLevel_nstep.maximum = 100;
silenceLevel_nstep.value = active_mic.silenceLevel;
var nstepListener:Object = new Object();
nstepListener.change = function(evt:Object) {
    active_mic.setSilenceLevel(evt.target.value, 
active_mic.silenceTimeOut);
};
silenceLevel_nstep.addEventListener("change", nstepListener);
this.onEnterFrame = function() {
    silenceLevel_pb.setProgress(active_mic.activityLevel, 100);
};
active_mic.onActivity = function(active:Boolean) {
    if (active) {
    silenceLevel_pb.indeterminate = false;
    silenceLevel_pb.setStyle("themeColor", "haloGreen");
    silenceLevel_pb.label = "Activity level: %3";
    } else {
    silenceLevel_pb.indeterminate = true;
    silenceLevel_pb.setStyle("themeColor", "0xFF0000");
    silenceLevel_pb.label = "Activity level: (inactive)";
    }
};
The 
MovieClip.getNextHighestDepth()
 method used in this example requires Flash Player 
7 or later. If your SWF file includes a v2 component (version 2 of the Macromedia 
Component Architecture), use the DepthManager class from the component framework 
instead of the 
MovieClip.getNextHighestDepth()
 method.