Copyright © 2006-2018 MultiMedia Soft

StartFromWasapiCaptureDevice method

Previous pageReturn to chapter overviewNext page



Starts a recording session through the given WASAPI capture device previously started through the WASAPI.DeviceStartExcusive or WASAPI.DeviceStartShared methods. You can know if a WASAPI device is already started through the WASAPI.DeviceIsStarted method.


After calling this method, the container application is notified through the CallbackForRecordersEvents delegate invoked with the nEvent parameter set to EV_REC_START.


The recording session can be stopped at any time through a call to the Stop method.


This method is only intended for usage with Windows Vista and later versions.

For further details about the use of WASAPI see the WASAPI object and the How to manage audio flow through WASAPI tutorial.

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





[Visual Basic]

Public Function StartFromWasapiCaptureDevice (

nCaptureDevice as Int32,

strOutputPath as String

) as enumErrorCodes



public enumErrorCodes StartFromWasapiCaptureDevice (

Int32 nCaptureDevice,

string strOutputPath




public: enumErrorCodes StartFromWasapiCaptureDevice (

Int32 nCaptureDevice,

string strOutputPath









Number representing the zero-based index of the WASAPI capture device of interest. The total number of available WASAPI capture devices can be obtained using the WASAPI.DeviceGetCount method having the nDeviceType parameter set to WASAPI_DEVICE_TYPE_CAPTURE.


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

If this parameter is left empty, recorded data will be stored inside a memory buffer.



Return value






Negative value

An error occurred. Check the LastError property value in order to see the last error.

enumErrorCodes.ERR_NOERROR (0)

The method call was successful.