Copyright © 2005-2020 MultiMedia Soft

ASIO.DeviceStart method

Previous pageReturn to chapter overviewNext page

Remarks

 

Starts the given ASIO device.

This call is mandatory in order to start working with a specific ASIO device for playback or for recording purposes; if you simply need to render audio data incoming from one or more input channels directly to one or more output channels, a possible alternative to this method is to invoke the ASIO.DeviceListenInputStart method.

In order to allow the call to this method, the ASIO device must be in stopped state.

 

A started device can be stopped at any time through the ASIO.DeviceStop method.

You can know if a certain device is started or stopped through the ASIO.DeviceIsStarted method.

 

For further details about the use of ASIO drivers see the ASIOMan class and the How to manage ASIO drivers tutorial.

 

 

Syntax

 

[Visual Basic]

Public Function DeviceStart (

nDeviceIndex as Int16,

nSampleRate as Int32,

nChannelMode as enumAsioChannelModes,

nOutputChannelFirst as Int16

) as enumErrorCodes


 

[C#]

public enumErrorCodes DeviceStart (

Int16 nDeviceIndex,

Int32 nSampleRate,

enumAsioChannelModes nChannelMode,

Int16 nOutputChannelFirst

);


 

[C++]

public: enumErrorCodes DeviceStart (

Int16 nDeviceIndex,

Int32 nSampleRate,

enumAsioChannelModes nChannelMode,

Int16 nOutputChannelFirst

);


 

Parameter

Description

 

 

nDeviceIndex

Number representing the zero-based index of the ASIO device.

This index is related to available ASIO devices so it must be the related to the enumeration performed through the ASIO.DeviceGetCount and ASIO.DeviceGetDesc methods: it must not be confused with indexes related to generic output devices enumerated through the GetOutputDevicesCount and GetOutputDeviceDesc methods which may contain both DirectSound and ASIO devices

nSampleRate

Sample rate to set into the ASIO device (0=leave current).

nChannelMode

Channel mode.

Supported values are the following:

Mnemonic constant

Value

Meaning

ASIO_CHANNEL_MODE_MULTI

0

Enables multi-channel mode: with this mode, if the loaded sound in in Mono or in Stereo, there is the possibility to perform speakers assignment through the ASIO.PlayerOutputChannelSet method.

If the loaded song is multi-channel, for example a 5.1, each channel will be automatically routed to output channels available inside the ASIO device.

ASIO_CHANNEL_MODE_STEREO

1

Enables stereo mode. This mode is needed when you need to send what is being played through a certain ASIO device to a streaming server (casting session) or when the ASIO device needs to be used for recording purposes through the Audio Sound Recorder API for .NET component.

When using this mode you can set specific channels that will be used for stereo output rendering through the nOutputChannelFirst parameter below.

ASIO_CHANNEL_MODE_MIRROR_STEREO

2

Enables stereo channels mirroring mode. This mode will set the ASIO device in stereo mode and then will mirror the output of channel "0" to other pair channels (2, 4, etc.) and the output of channel "1" to other odd channels (3, 5, etc.)

ASIO_CHANNEL_MODE_MIRROR_MONO

3

Enables mono channel mirroring mode. This mode will set the ASIO device in mono and then will mirror the output of channel "0" to all of the other available output channels of the ASIO device.

nOutputChannelFirst

Zero-based index of the first output channel used for sound rendering: this parameter is only used when the nChannelMode parameter is set to ASIO_CHANNEL_MODE_STEREO and is ignored in all other cases.

 

 

Return value

 

Value

Meaning

 

 

Negative value

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

enumErrorCodes.NOERROR (0)

The method call was successful.