M > Microphone.setSilenceLevel |  |

Microphone.setSilenceLevel

Microphone, audio, sound, Microphone.setSilenceLevel, setSilenceLevel

Communications/Microphone/Methods/setSilenceLevel

Availability

Flash Player 6.

Usage

    activeMicrophone.setSilenceLevel(level [, timeout])

Parameters

`level` An integer that specifies the amount of sound required to activate the microphone and invoke `Microphone.onActivity``(true)`. Acceptable values range from 0 to 100. The default value is 10.

`timeout` An optional integer parameter that specifies how many milliseconds must elapse without activity before Flash considers sound to have stopped and invokes `Microphone.onActivity``(false)`. The default value is 2000 (2 seconds).

Returns

Nothing.

Description

Method; sets the minimum input level that should be considered sound and (optionally) the amount of silent time signifying that silence has actually begun.

| To prevent the microphone from detecting sound at all, pass a value of 100 for `level`; `Microphone.onActivity` is never invoked.
| To determine the amount of sound the microphone is currently detecting, use `Microphone.activityLevel`.

Activity detection is the ability to detect when audio levels suggest that a person is talking. When someone is not talking, bandwidth can be saved because there is no need to send the associated audio stream. This information can also be used for visual feedback so that users know they (or others) are silent.

Silence values correspond directly to activity values. Complete silence is an activity value of 0. Constant loud noise (as loud as can be registered based on the current gain setting) is an activity value of 100. After gain is appropriately adjusted, your activity value is less than your silence value when you're not talking; when you are talking, the activity value exceeds your silence value.

This method is similar in purpose to `Camera.setMotionLevel`; both methods are used to specify when the `onActivity` event handler should be invoked. However, these methods have a significantly different impact on publishing streams:

| `Camera.setMotionLevel` is designed to detect motion and does not affect bandwidth usage. Even if a video stream does not detect motion, video is still sent.
| `Microphone.setSilenceLevel` is designed to optimize bandwidth. When an audio stream is considered silent, no audio data is sent. Instead, a single message is sent, indicating that silence has started.

Example

The following example changes the silence level based on the user's input. The button has the following code attached:

    on (press)
    {
    	this.makeSilenceLevel(this.silenceLevel);
    }

The `makeSilenceLevel()` function called by the button continues:

    function makeSilenceLevel(s)
    {
    	this.obj.setSilenceLevel(s);
    	this.SyncMode();
    	this.silenceLevel= s;
    }

For more information, see the example for `Camera.setMotionLevel`.

See also

`Microphone.activityLevel`, `Microphone.onActivity`, `Microphone.setGain`, `Microphone.silenceLevel`, `Microphone.silenceTimeout`