WASAPI.DeviceStartShared method |
|
Remarks
Starts a WASAPI device in shared mode. In order to start the device in exclusive mode you can use the WASAPI.DeviceStartExcusive method. You can know if a WASAPI device is already started through the WASAPI .DeviceIsStarted method.
This method is only effective if the InitDriversType method has been invoked with the nDriverType parameter set to DRIVER_TYPE_WASAPI and must be always called at a later stage respect to the call to the InitSoundSystem method.
This method will affect any other instance of the component inside the application. If the component should be used in conjunction with the Audio Sound Recorder API for .NET and/or Audio Sound Editor API for .NET components, these ones would be affected too.
If you should be using Audio Dj Studio API for .NET in conjunction with Audio Sound Recorder API for .NET, as seen inside the WasapiStreamMixer sample, you should prefer calling this method from Audio Dj Studio API for .NET so you would have a better control over the channel mode used for playback (see the nChannelMode parameter below).
This method is only intended for usage with Windows Vista and later versions.
For further details about the use of WASAPI see the WASAPIMan class and the How to manage audio flow through WASAPI tutorial
Syntax
[Visual Basic] Public Function DeviceStartShared ( nDeviceIndex as Int32, nDeviceType as enumWasapiDeviceTypes, nChannelMode as enumWasapiChannelModes, nBufferLengthMs as Int32, nBufferUpdateTimeMs as Int32 ) as enumErrorCodes |
[C#] public enumErrorCodes DeviceStartShared ( Int32 nDeviceIndex, enumWasapiDeviceTypes nDeviceType, enumWasapiChannelModes nChannelMode, Int32 nBufferLengthMs, Int32 nBufferUpdateTimeMs ); |
[C++] public: enumErrorCodes DeviceStartShared ( Int32 nDeviceIndex, enumWasapiDeviceTypes nDeviceType, enumWasapiChannelModes nChannelMode, Int32 nBufferLengthMs, Int32 nBufferUpdateTimeMs ); |
Parameter |
Description |
||||||||||||
|
|
||||||||||||
nDeviceIndex |
Number representing the zero-based index of the WASAPI device whose friendly name must be retrieved. The total number of available WASAPI devices can be obtained using the WASAPI.DeviceGetCount method. |
||||||||||||
nDeviceType |
The type of device. Supported values are the following:
|
||||||||||||
nChannelMode |
Channel mode. Supported values are the following:
|
||||||||||||
nBufferLengthMs |
Length of the buffer expressed in milliseconds. This value determines the latency and if it should be too small the sound card driver may eventually adjust it to its minimum supported value. You can know if the given length has been accepted by verifying the value of the nLatencyMs parameter after calling the WASAPI.DeviceLatencyGet method. |
||||||||||||
nBufferUpdateTimeMs |
Update time, expressed in milliseconds, for filling the buffer. You can set this value to 0 in order to let the sound card driver use its default. |
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. |