Flash Media Server Developer Documentation

Camera.motionLevel

public motionLevel : Number[read-only]

A numeric value from 0 to 100 that specifies the amount of motion required to invoke Camera.onActivity(true). The default value is 50.

Video can be displayed regardless of the value of the motionLevel property. For more information, see Camera.setMotionLevel().

Availability

Flash Media Server (not required); Flash Player 6.

Example

The following example continually detects the motion level of a camera feed. Create a new video instance by selecting New Video from the Library panel menu. Add an instance to the Stage and give it the instance name my_video. Add a Label component instance to the Stage and give it the instance name motionLevel_lbl. Add a NumericStepper component with the instance name motionLevel_nstep. Add a ProgressBar component with the instance name motion_pb. Then add the following code to Frame 1 of the Timeline:

var my_cam:Camera = Camera.get();
var my_video:Video;
my_video.attachVideo(my_cam);

// Configure the ProgressBar component instance.
var motion_pb:mx.controls.ProgressBar;
motion_pb.mode = "manual";
motion_pb.label = "Motion: %3%%";

var motionLevel_lbl:mx.controls.Label;
// Configure the NumericStepper component instance.
var motionLevel_nstep:mx.controls.NumericStepper;
motionLevel_nstep.minimum = 0;
motionLevel_nstep.maximum = 100;
motionLevel_nstep.stepSize = 5;
motionLevel_nstep.value = my_cam.motionLevel;

/* Continuously update the progress of the ProgressBar 
component instance to the activityLevel 
of the current Camera instance, which is defined in my_cam. */
this.onEnterFrame = function() {
    motion_pb.setProgress(my_cam.activityLevel, 100);
};

/* When the level of activity goes above or below 
the number defined in Camera.motionLevel, 
trigger the onActivity event handler. */
my_cam.onActivity = function(isActive:Boolean) {
/* If isActive equals true, set the themeColor variable to "haloGreen". 
         Otherwise set the themeColor to "haloOrange".*/
    var themeColor:String = (isActive) ? "haloGreen" : "haloOrange";
    motion_pb.setStyle("themeColor", themeColor);
};

function changeMotionLevel() {
    /* Set the motionLevel property for my_cam Camera
    instance to the value of the NumericStepper 
    component instance. Maintain the current 
    motionTimeOut value of the my_cam Camera instance.*/
    my_cam.setMotionLevel(motionLevel_nstep.value, my_cam.motionTimeOut);
}
motionLevel_nstep.addEventListener("change", changeMotionLevel);

See also

Camera.activityLevel, Camera.onActivity(), Camera.onStatus(), Camera.setMotionLevel()