Copyright © 2006-2026 MultiMedia Soft

StartSplitFromDjStudioPlayer method

Previous pageReturn to chapter overviewNext page

Remarks

 

Starts a recording session through the given input device and channel and splits incoming sound in left and right channels.

 

Calling this method will cause the control to fire a RecordingStarted event. The recording session can be stopped at any time through a call to the Stop method.

During the recording session you can be notified about recorded size for both channels through the RecordingSizeSplit event.

 

In this case the recording session wouldn't be kept inside the RecordedSound object so the only accepted recording mode, set through the SetRecordingMode method, is REC_MODE_NEW.

 

Limitations to encoding capabilities when splitting the recording session

 

If the EncodeFormats.ForRecording property is set to ENCODING_FORMAT_WMA, the only supported encoding mode for the EncodeFormats.WMA.EncodeMode property is WMA_ENCODE_CBR_STD_16 and the WMA.CBR property must be set to a value that can support both stereo and mono, so the only compatible combinations are the following:

for sounds at 16000 Hz CBR must be set to 16000 (16 kbps)
for sounds at 22050 Hz CBR must be set to 20000 (20 kbps)
for sounds at 44100 Hz CBR must be set to 32000 (32 kbps) or 48000 (48 kbps)

 

If the EncodeFormats.ForRecording property is set to ENCODING_FORMAT_WAV, the splitting will only work if the EncodeFormats.WAV.EncodeMode property is set to a format supporting both mono and stereo formats meaning that, for example, it will not work for mono-only formats like WAV_ENCODE_GSM_610 or WAV_ENCODE_G721_ADPCM_32.

 

If the EncodeFormats.ForRecording property is set to ENCODING_FORMAT_AIFF, the splitting will only work if the EncodeFormats.AIFF.EncodeMode property is set to a format supporting both mono and stereo formats meaning that, for example, it will not work for mono-only formats like AIFF_ENCODE_GSM_610.

 

If the EncodeFormats.ForRecording property is set to ENCODING_FORMAT_AU, the splitting will only work if the EncodeFormats.AU.EncodeMode property is set to a format supporting both mono and stereo formats meaning that, for example, it will not work for mono-only formats like AU_ENCODE_G721_ADPCM_32 or AU_ENCODE_G723_ADPCM_24 or AU_ENCODE_G723_ADPCM_40.

 

If the EncodeFormats.ForRecording property is set to ENCODING_FORMAT_ACM, the splitting will only work if the selected codec supports both mono and stereo formats meaning that, for example, it will not work for mono-only codecs like GSM 6.10 or G721 ADPCM.

 

The split doesn't work if the EncodeFormats.ForRecording property is set to ENCODING_FORMAT_AAC because this format doesn't support creating mono sounds.

 

When the stereo recording session is encoded in MP3, Ogg Vorbis or Opus audio formats, respective external encoders (Lame, OggEnc and OpusEnc) must be available on the target system because internal encoders cannot manage the "downmix" to mono of the split channels.

 

For details about the encoding format and parameters applied during recording see the How to perform a recording session section.

 

 

Syntax

 

[Visual Basic]

control.StartSplitFromDjStudioPlayer (

nPlayerHandle as Long,

bApplyBeforeEffects as enumBoolean,

strOutputPathLeft as string,

strOutputPathRight as string

) as enumErrorCodes


 

[C++]

short control.StartSplitFromDjStudioPlayer (

long nPlayerHandle,

short bApplyBeforeEffects,

LPCTSTR strOutputPathLeft,

LPCTSTR strOutputPathRight

);


 

 

Parameter

Description

 

 

nPlayerHandle

Handle of the audio player returned by the GetPlayerHandle method of the Active DJ Studio component.

bApplyBeforeEffects

Boolean flag that specifies if the recording session should keep count or ignore special effects (like volume, balance, various DSPs, etc.) applied to the player's stream through dedicated methods of the Active DJ Studio component

Supported values are the following:

Mnemonic Value

Meaning

BOOL_FALSE

The recording session keeps count of special effects applied to the playing stream

BOOL_TRUE

The recording session ignores special effects applied to the playing stream

strOutputPathLeft

String representing the absolute pathname of the destination file that will contain the left channel of recorded data. If this pathname should contain invalid characters, they would be automatically changed into an underscore '_' character.

strOutputPathRight

String representing the absolute pathname of the destination file that will contain the right channel of recorded data. If this pathname should contain invalid characters, they would be automatically changed into an underscore '_' character.

 

 

 

Return value

 

Value

Meaning

 

 

Negative value

An error occurred, check the LastError property value in order to see the error code meaning

enumErrorCodes.ERR_NOERROR (0)

The method call was successful.