Copyright © 2001-2019 MultiMedia Soft

StreamVolumeSlideEx method

Previous pageReturn to chapter overviewNext page

Remarks

 

Starts a volume sliding procedure that brings the current volume to a target volume in a given amount of time. You can know if a volume sliding is already being performed through the StreamVolumeIsSliding method.

 

During the sliding the FadingVolumeChanged event is generated every 15 milliseconds. When the volume sliding reaches the target volume, the VolumeSlideCompleted event is generated.

 

 

Syntax

 

[Visual Basic]

control.StreamVolumeSlideEx (

nPlayer as Integer,

nSlideDuration as Long,

fVolumeTarget as Single,

nScaleType as enumVolumeScales,

nCurveType as enumVolumeCurves,

nLeftX as Integer,

nLeftY as Integer,

nRightX as Integer,

nRightY as Integer

) as enumErrorCodes


 

[C++]

short control.StreamVolumeSlideEx (

short nPlayer,

long nSlideDuration,

float fVolumeTarget,

short nScaleType,

short nCurveType,

short nLeftX,

short nLeftY,

short nRightX,

short nRightY

);


 

 

Parameter

Description

 

 

nPlayer

Number representing the zero-based index of the involved player

nSlideDuration

The time required to perform the volume sliding from the current volume level to the target level set into the fVolumeTarget parameter below.

fVolumeTarget

Target volume reached when the sliding is completed; the meaning of this value depends upon the nScaleType parameter below.

nScaleType

The volume scaling type.

Supported values are the following:

Mnemonic constant

Value

Meaning

SCALE_LINEAR

0

The volume is based upon a linear scale and can be in the range from 0.0 (silence) to 100.0 (max volume)

SCALE_LOG

1

The returned volume, expressed in dB, is based upon a logarithmic scale and can be in the range from -100  (silence) to 0 (max volume)

The actual applied formula for converting a linear volume into a logarithmic volume is the following:

VolumeInDB = 20 * log10 (VolumeLinear/100)

The C syntax for converting a logarithmic volume into a linear volume is the following:

VolumeLinear = 100 * pow (10, VolumeInDB/20);

nCurveType

Type of curve applied to the volume sliding.

Supported values are the following:

Mnemonic constant

Value

Meaning

 

 

 

VOLUME_CURVE_LINEAR

1

Linear curve

amp3dj_i000090

VOLUME_CURVE_EXPONENTIAL

2

Exponential curve

amp3dj_i000091

VOLUME_CURVE_COSINE

3

Cosine curve

amp3dj_i000092

VOLUME_CURVE_SMOOTH

4

Smooth curve

amp3dj_i000093

VOLUME_CURVE_CUSTOM

5

Custom Bézier curve.

amp3dj_i000094

nLeftX

The horizontal position, expressed in percentage of the custom curve designer's area, of the left control point (*). This parameter is ignored if the nScaleType parameter above has been set to a value different from VOLUME_CURVE_CUSTOM.

nLeftY

The vertical position, expressed in percentage of the custom curve designer's area, of the left control point (*). This parameter is ignored if the nScaleType parameter above has been set to a value different from VOLUME_CURVE_CUSTOM.

nRightX

The horizontal position, expressed in percentage of the custom curve designer's area, of the right control point (*). This parameter is ignored if the nScaleType parameter above has been set to a value different from VOLUME_CURVE_CUSTOM.

nRightY

The vertical position, expressed in percentage of the custom curve designer's area, of the right control point (*). This parameter is ignored if the nScaleType parameter above has been set to a value different from VOLUME_CURVE_CUSTOM.

 

 

(*) The custom curve designer manages a windowed control, whose visual aspect can be defined programmatically, which allows designing volume curves based upon Bézier curves whose shape is defined through the manual positioning of 2 control points (displayed in cyan color on the graphic below). For further information about the use of the embedded CurveDesigner refer to the tutorial How to create custom volume curves.

 

amp3dj_i00009a

 

 

Return value

 

Value

Meaning

 

 

Negative value

An error occurred (see the LastError property for further error details)

enumErrorCodes.ERR_NOERROR (0)

The method call was successful.