📄 vc25pro_doc_unamsacmclasses.html
字号:
<LI>ACM_FORMATSUGGESTF_NCHANNELS - The nChannels member of the structure pointed to by dstFormat is valid. The ACM will query the driver if it can suggest a destination format matching nChannels or fail.</LI>
<LI>ACM_FORMATSUGGESTF_NSAMPLESPERSEC - The nSamplesPerSec member of the structure pointed to by dstFormat is valid. The ACM will query acceptable the driver if it can suggest a destination format matching nSamplesPerSec or fail.</LI>
<LI>ACM_FORMATSUGGESTF_WBITSPERSAMPLE - The wBitsPerSample member of the structure pointed to by dstFormat is valid. The ACM will query acceptable the driver if it can suggest a destination format matching wBitsPerSample or fail.</LI>
<LI>ACM_FORMATSUGGESTF_WFORMATTAG - The wFormatTag member of the structure pointed to by dstFormat is valid. The ACM will query the driver if it can suggest a destination format matching wFormatTag or fail.</LI>
</UL>
Returns MMSYSERR_NOERROR if successful or an error code otherwise.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmDriver"><SPAN class="class">unaMsAcmDriver</SPAN></A>.preparePafd(var pafd: ACMFORMATDETAILS; tag: unsigned = 0; index: unsigned = 0): bool;</SPAN><P />
Calls the master acm class to fill the given ACMFORMATDETAILS structure.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmDriver"><SPAN class="class">unaMsAcmDriver</SPAN></A>.assignFormat(tag: unsigned; index: unsigned; device: <A HREF="#class_unaWaveDevice"><SPAN class="class">unaWaveDevice</SPAN></A>): bool;</SPAN><P />
Retrieves format details and fills the PCM sampling parameters of given wave device.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaMsAcmDriver"><SPAN class="class">unaMsAcmDriver</SPAN></A>.id: HACMDRIVERID;</SPAN><P />
id of the driver.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaMsAcmDriver"><SPAN class="class">unaMsAcmDriver</SPAN></A>.acm: <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>;</SPAN><P />
unaMsAcm class instance.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaMsAcmDriver"><SPAN class="class">unaMsAcmDriver</SPAN></A>.isInstallable: bool;</SPAN><P />
Read-only property which indicates whether the driver was created as installable.
</TD></TR></TABLE></DIV>
<DIV><P /><H4>Class <A NAME="class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>(<SPAN class="class">unaObject</SPAN>)</H4><P />
This class holds a list of drivers installed on the system.
Driver usually corresponds to one specific audio format and may contain converters, codecs and filters.
You should explicitly call enumDrivers() method to enumerate installed drivers.
<P />Every installed driver has unique manufacturer and product identifiers (MID and PID).
You can use these identifiers to locate specific driver.
Use getDriver() method to retrieve driver by index or MID/PID pair.
<P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.addEnumedDriver(id: HACMDRIVERID; support: unsigned); virtual;</SPAN><P />
Adds driver to the list of drivers.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">constructor <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.create();</SPAN><P />
Allocates internal structures needed for class instance.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">destructor <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.Destroy(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.enumDrivers(flags: unsigned = 0);</SPAN><P />
Enumerates installed ACM drivers.
The following values are defined for flags parameter:
<UL>
<LI>ACM_DRIVERENUMF_DISABLED - Disabled ACM drivers should be included in the enumeration.</LI>
<LI>ACM_DRIVERENUMF_NOLOCAL - Only global drivers should be included in the enumeration.</LI>
</UL>
Enumerated drivers are stored in driver list. You can access them using the getDriver() method.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.getDriver(mid, pid: unsigned): <A HREF="#class_unaMsAcmDriver"><SPAN class="class">unaMsAcmDriver</SPAN></A>; overload;</SPAN><P />
Searches the list of drivers for driver with specified mid and pid values.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.getDriver(index: unsigned): <A HREF="#class_unaMsAcmDriver"><SPAN class="class">unaMsAcmDriver</SPAN></A>; overload;</SPAN><P />
Returns driver from the list of drivers. Driver is specified by the index in the list (starting from 0).
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.getDriverByFormatTag(formatTag: unsigned): <A HREF="#class_unaMsAcmDriver"><SPAN class="class">unaMsAcmDriver</SPAN></A>;</SPAN><P />
Returns driver from the list of drivers. Driver is specified by the format tag supported by driver.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.getDriverCount(): unsigned;</SPAN><P />
Returns number of drivers enumerated by enumDrivers() method.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.openDriver(const driverLibrary: wideString): <A HREF="#class_unaMsAcmDriver"><SPAN class="class">unaMsAcmDriver</SPAN></A>;</SPAN><P />
Opens installable ACM driver.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.closeDriver(driver: <A HREF="#class_unaMsAcmDriver"><SPAN class="class">unaMsAcmDriver</SPAN></A>);</SPAN><P />
Closes installable ACM driver opened previously with openDriver();
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.preparePafd(var pafd: ACMFORMATDETAILS; tag: unsigned = 0; index: unsigned = 0; driver: unsigned = 0): bool;</SPAN><P />
Allocates given ACMFORMATDETAILS structure.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.version: unsigned;</SPAN><P />
Version of ACM.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.countDrivers: unsigned;</SPAN><P />
Total number of enabled global ACM drivers (of all support types) in the system.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.countCodecs: unsigned;</SPAN><P />
Number of global ACM compressor or decompressor drivers in the system.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.countConverters: unsigned;</SPAN><P />
Number of global ACM converter drivers in the system.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.countFilters: unsigned;</SPAN><P />
Number of global ACM filter drivers in the system.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.countDisabled: unsigned;</SPAN><P />
Number of global disabled ACM drivers (of all support types) in the system.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.countHardware: unsigned;</SPAN><P />
Number of global ACM hardware drivers in the system.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.countLocalDrivers: unsigned;</SPAN><P />
Total number of enabled local ACM drivers (of all support types) for the calling task.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.countLocalCodecs: unsigned;</SPAN><P />
Number of local ACM compressor drivers, ACM decompressor drivers, or both for the calling task.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.countLocalConverters: unsigned;</SPAN><P />
Number of local ACM converter drivers for the calling task.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.countLocalFilters: unsigned;</SPAN><P />
Number of local ACM filter drivers for the calling task.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaMsAcm"><SPAN class="class">unaMsAcm</SPAN></A>.countLocalDisabled: unsigned;</SPAN><P />
Total number of local disabled ACM drivers, of all support types, for the calling task.
</TD></TR></TABLE></DIV>
<DIV><P /><H4>Class <A NAME="class_unaMsAcmDeviceHeader"><SPAN class="class">unaMsAcmDeviceHeader</SPAN></A>(<SPAN class="class">unaObject</SPAN>)</H4><P />
Base class for storing the wave and stream headers of wave and ACM devices.
<P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmDeviceHeader"><SPAN class="class">unaMsAcmDeviceHeader</SPAN></A>.getStatus(index: int): bool; virtual; abstract;</SPAN><P />
Returns status of header. Descendant classes must override this method.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaMsAcmDeviceHeader"><SPAN class="class">unaMsAcmDeviceHeader</SPAN></A>.setStatus(index: int; value: bool); virtual; abstract;</SPAN><P />
Sets status of header. Descendant classes must override this method.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmDeviceHeader"><SPAN class="class">unaMsAcmDeviceHeader</SPAN></A>.prepare(): MMRESULT; virtual;</SPAN><P />
Prepares the header before first usage. This class calls prepareHeader() method of device to do this.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaMsAcmDeviceHeader"><SPAN class="class">unaMsAcmDeviceHeader</SPAN></A>.unprepare(): MMRESULT; virtual;</SPAN><P />
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -