Description | Hierarchy | Fields | Methods | Properties |
type unaMsAcmDriver = class(unaObject)
List of installed drivers is maintained by unaMsAcm class, so usually there is no need to create/destroy the driver class explicitly. Use the unaMsAcm.getDriver() method instead.
Driver has lists of associated wave formats and filters. You should explicitly call enumFilters() or enumFormats() to enumerate the filters and formats supported by driver. Driver will be opened for enumeration purposes. Explicitly opening the driver by calling the open() method ensures the driver handle will be valid until class is destroyed, or method close() is called.
Use getDetails() method to retrieve pointer on ACMDRIVERDETAILSW structure. You should treat this structure as read-only.
constructor create(acm: unaMsAcm; id: HACMDRIVERID; support: unsigned; const libName: wString = ''); |
|
destructor Destroy(); override; |
|
function about(wnd: HWND): MMRESULT; |
|
function assignFormat(tag: unsigned; index: unsigned; device: unaWaveDevice): bool; |
|
function close(): MMRESULT; |
|
function enumFilters(flags: uint = 0): MMRESULT; |
|
function enumFormats(flags: uint = 0; force: bool = false; pwfx: pWAVEFORMATEX = nil; tagsOnly: bool = false): MMRESULT; |
|
function getDetails(): pACMDRIVERDETAILSW; |
|
function getFilter(index: unsigned): unaMsAcmFilter; |
|
function getFilterCount(): unsigned; |
|
function getFormat(index: unsigned): unaMsAcmFormat; |
|
function getFormatCount(): unsigned; |
|
function getFormatTag(index: unsigned): unaMsAcmFormatTag; |
|
function getFormatTagCount(): unsigned; |
|
function getHandle(): HACMDRIVER; |
|
function getPriority(): unsigned; |
|
function isEnabled(): bool; |
|
function isOpen(): bool; |
|
function open(): MMRESULT; |
|
function preparePafd(var pafd: ACMFORMATDETAILS; tag: unsigned = 0; index: unsigned = 0): bool; |
|
function sendDriverMessage(msg: UINT; lParam1: LongInt; lParam2: Longint = 0): Longint; |
|
function suggestCodecFormat(srcFormat: pWAVEFORMATEX; dstFormat: pWAVEFORMATEX; flags: uint): MMRESULT; |
|
function isMyLib(const libName: wString): bool; |
|
function refInc(delta: int): int; |
|
procedure AfterConstruction(); override; |
|
procedure BeforeDestruction(); override; |
|
procedure setEnabled(value: bool); |
|
procedure setPriority(value: unsigned); |
property acm: unaMsAcm read f_acm; |
|
property id: HACMDRIVERID read f_id; |
|
property isInstallable: bool read f_isInstallable; |
constructor create(acm: unaMsAcm; id: HACMDRIVERID; support: unsigned; const libName: wString = ''); |
|
Initializes the instance of MS ACM driver object. id parameters specifies the ID of driver to use. |
destructor Destroy(); override; |
|
function about(wnd: HWND): MMRESULT; |
|
Displays a custom About dialog box from an ACM driver. If the driver does not support a custom About dialog box, MMSYSERR_NOTSUPPORTED will be returned. |
function assignFormat(tag: unsigned; index: unsigned; device: unaWaveDevice): bool; |
|
Retrieves format details and fills the PCM sampling parameters of given wave device. |
function close(): MMRESULT; |
|
Closes a previously opened ACM driver instance. ReturnsMMSYSERR_NOERROR if successfull. |
function enumFilters(flags: uint = 0): MMRESULT; |
|
Enumerates waveform-audio filters available from the ACM driver. Enumerated filters will be stored in the filters list. You can access them using getFilter() method. |
function enumFormats(flags: uint = 0; force: bool = false; pwfx: pWAVEFORMATEX = nil; tagsOnly: bool = false): MMRESULT; |
|
Enumerates waveform-audio formats available from the ACM driver. You can specify any combination of the following values for flags parameter:
Enumerated formats will be stored in the formats list. You can access them using getFormat() method. |
function getDetails(): pACMDRIVERDETAILSW; |
|
Returns driver details. |
function getFilter(index: unsigned): unaMsAcmFilter; |
|
Returns wave filter object by its index in filter list. |
function getFilterCount(): unsigned; |
|
Returns number of filters stored in filter list. |
function getFormat(index: unsigned): unaMsAcmFormat; |
|
Returns wave format object by its index in format list. |
function getFormatCount(): unsigned; |
|
Returns number of formats stored in format list. |
function getFormatTag(index: unsigned): unaMsAcmFormatTag; |
|
function getFormatTagCount(): unsigned; |
|
function getHandle(): HACMDRIVER; |
|
Returns driver handle returned by acmDriverOpen() function |
function getPriority(): unsigned; |
|
Returns ACM priority of the driver. |
function isEnabled(): bool; |
|
Returns true if driver is enabled. |
function isOpen(): bool; |
|
Returns true if driver was successfully opened or false otherwise. ReturnsTrue if driver is opened. |
function open(): MMRESULT; |
|
Opens the ACM driver. Installabe drivers need not to be opened. ReturnsMMSYSERR_NOERROR if successfull. |
function preparePafd(var pafd: ACMFORMATDETAILS; tag: unsigned = 0; index: unsigned = 0): bool; |
|
Calls the master acm class to fill the given ACMFORMATDETAILS structure. |
function sendDriverMessage(msg: UINT; lParam1: LongInt; lParam2: Longint = 0): Longint; |
|
Sends a message to installed or opened driver. |
function suggestCodecFormat(srcFormat: pWAVEFORMATEX; dstFormat: pWAVEFORMATEX; flags: uint): MMRESULT; |
|
Queries the ACM driver to suggest a destination format for the supplied source format. srcFormat is a WAVEFORMATEX structure that identifies the source format for which a destination format will be suggested by the driver. dstFormat is a WAVEFORMATEX structure that will receive the suggested destination format for the srcFormat format. Depending on the flags parameter, some members of the structure pointed to by dstFormat may require initialization. The following values are defined for flags parameter:
ReturnsMMSYSERR_NOERROR if successful or an error code otherwise. |
function isMyLib(const libName: wString): bool; |
|
function refInc(delta: int): int; |
|
procedure AfterConstruction(); override; |
|
procedure BeforeDestruction(); override; |
|
procedure setEnabled(value: bool); |
|
Enables of disables the driver. |
procedure setPriority(value: unsigned); |
|
Sets ACM priority of the driver. |
property acm: unaMsAcm read f_acm; |
|
unaMsAcm class instance. |
property id: HACMDRIVERID read f_id; |
|
id of the driver. |
property isInstallable: bool read f_isInstallable; |
|
Read-only property which indicates whether the driver was created as installable. |
(c) 2012 Lake of Soft