Microphone.silenceTimeout

Availability

Usage

public silenceTimeout : Number [read-only]

Description

Property (read-only); a numeric value representing the number of milliseconds between the time the microphone stops detecting sound and the time Microphone.onActivity(false) is invoked. The default value is 2000 (2 seconds).

To set this value, use Microphone.setSilenceLevel().

Example

The following example enables the user to control the amount of time between when the microphone stops detecting sound and when Microphone.onActivity(false) is invoked. The user controls this value using a NumericStepper instance called silenceTimeOut_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 silenceTimeOut_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";
silenceTimeOut_nstep.minimum = 0;
silenceTimeOut_nstep.maximum = 10;
silenceTimeOut_nstep.value = active_mic.silenceTimeOut/1000;

var nstepListener:Object = new Object();
nstepListener.change = function(evt:Object) {
    active_mic.setSilenceLevel(active_mic.silenceLevel, evt.target.value 1000);
};
silenceTimeOut_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.

See also

Microphone.onActivity, Microphone.setSilenceLevel()


 

Send me an e-mail when comments are added to this page | Comment Report

Current page: http://livedocs.adobe.com/fms/2/docs/00000566.html