📄 vc25pro_doc_unavcide.html
字号:
Specifies audio format tag for the wave device.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.formatTagImmunable: bool;</SPAN><P />
Specifies the device is immunable for format tag changes (usually useful for codecs).
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.mapped: bool;</SPAN><P />
Specifies whether wave device is mapped.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.direct: bool;</SPAN><P />
Specifies whether wave device is direct.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.realTime: bool;</SPAN><P />
Specifies whether device is working as real-time device.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.loop: bool;</SPAN><P />
Specifies whether wave stream should be looped from end to beginning.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.inputIsPcm: bool;</SPAN><P />
Specifies whether format of input stream of the device is PCM.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.driverMode: unaAcmCodecDriverMode;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.driverLibrary: wideString;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.silenceDetectionMode: unaWaveInSDMehtods;</SPAN><P />
Specifies which method will be used to detect silence.
<UL>
<LI>unasdm_none - no silence detection</LI>
<LI>unasdm_VC - "old" method, which uses minVolumeLevel and minActiveTime</LI>
<LI>unasdm_DSP</LI>
<UL>
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">constructor <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.Create(owner: tComponent); override;</SPAN><P />
Assigns default values for properties.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">constructor <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.createWaveDevice();</SPAN><P />
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.AfterConstruction(); override;</SPAN><P />
Creates the wave device.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.BeforeDestruction(); override;</SPAN><P />
Destroys the wave device.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.createDevice();</SPAN><P />
Destroys previuosly created wave device, then creates new one.
Assigns required callbacks for device.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.createDriver();</SPAN><P />
Creates ACM driver for device (if needed).
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.ensureFormat();</SPAN><P />
Refreshes the device format.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.getVolume(channel: int = 0): int;</SPAN><P />
Returns current volume value. calcVolume must be set to true.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.flush();</SPAN><P />
Flushes any data panding.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.acm: unaMsAcm;</SPAN><P />
Returns ACM manager for the device.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.driver: unaMsAcmDriver;</SPAN><P />
Returns device driver.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.device: unaMsAcmStreamDevice;</SPAN><P />
Returns wave device associated with the pipe.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.pcmFormat: pWAVEFORMATEX;</SPAN><P />
Returns PCM format of the wave device.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.chunkSize: unsigned;</SPAN><P />
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.dstChunkSize: unsigned;</SPAN><P />
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.waveError: int;</SPAN><P />
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.waveErrorAsString: string;</SPAN><P />
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.calcVolume: bool;</SPAN><P />
When true tells the component to calculate the audio volume of a stream coming into or from the component.
Use the getVolume() method to get the current volume level.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.overNum: unsigned;</SPAN><P />
Specifies how many chunks of data (every chunk can hold 1/10 second of audio) component can store in the input or output buffer, if data cannot be processed immediately.
Set this property to 0 to disable the buffer overflow checking (be carefully, since this could lead to uncontrolled memory usage grow).
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.pcm_samplesPerSec: unsigned;</SPAN><P />
Specifies number of samples per second for wave device. Common values are 44100, 22050, 11025 and 8000.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.pcm_bitsPerSample: unsigned;</SPAN><P />
Specifies number of bits per sample for wave device. Common values are 8 and 16.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>.pcm_numChannels: unsigned;</SPAN><P />
Specifies number of channels per sample for wave device. Common values are 1 (mono) and 2 (stereo).
</TD></TR></TABLE></DIV>
<DIV><P /><H4>Class <A NAME="class_TunavclWaveInDevice"><SPAN class="class">TunavclWaveInDevice</SPAN></A>(<A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>)</H4><P />
<P /><I>Purpose</I>: real time PCM audio stream recording from the sound card or other hardware device.
<P /><I>Usage</I>: If components has no provider component with formatProvider=true, specify PCM stream parameters before activating: pcm_SamplesPerSec, pcm_BitsPerSample and pcm_NumChannels.
Set deviceId property if required. minActiveTime and minVolumeLevel controls the silence detection behavior.
<P /><I>Example</I>: refer to the vcTalkNow demo. It has waveIn_server and waveIn_client components.
Both are used to record real-time PCM stream to be sent to remote side. waveIn_server has c_codec_serverOut component as a consumer.
That means PCM stream produced by waveIn_server will be passed to c_codec_serverOut component automatically.
<P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_TunavclWaveInDevice"><SPAN class="class">TunavclWaveInDevice</SPAN></A>.createNewDevice(); override;</SPAN><P />
Creates waveIn (recording) device.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_TunavclWaveInDevice"><SPAN class="class">TunavclWaveInDevice</SPAN></A>.applyDeviceFormat(const format: WAVEFORMATEX; isSrc: bool = true): bool; override;</SPAN><P />
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_TunavclWaveInDevice"><SPAN class="class">TunavclWaveInDevice</SPAN></A>.AfterConstruction(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_TunavclWaveInDevice"><SPAN class="class">TunavclWaveInDevice</SPAN></A>.waveInDevice: unaWaveInDevice;</SPAN><P />
Returns waveIn device.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_TunavclWaveInDevice"><SPAN class="class">TunavclWaveInDevice</SPAN></A>.deviceId: [unknown];</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_TunavclWaveInDevice"><SPAN class="class">TunavclWaveInDevice</SPAN></A>.mapped: [unknown];</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_TunavclWaveInDevice"><SPAN class="class">TunavclWaveInDevice</SPAN></A>.direct: [unknown];</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_TunavclWaveInDevice"><SPAN class="class">TunavclWaveInDevice</SPAN></A>.calcVolume: [unknown];</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_TunavclWaveInDevice"><SPAN class="class">TunavclWaveInDevice</SPAN></A>.minVolumeLevel: unsigned;</SPAN><P />
Minimum volume level for recording.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_TunavclWaveInDevice"><SPAN class="class">TunavclWaveInDevice</SPAN></A>.minActiveTime: unsigned;</SPAN><P />
Minimum active time for recording.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_TunavclWaveInDevice"><SPAN class="class">TunavclWaveInDevice</SPAN></A>.isFormatProvider: [unknown];</SPAN><P />
waveIn component is usually a format provider--so this property value was changed to be true by default.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_TunavclWaveInDevice"><SPAN class="class">TunavclWaveInDevice</SPAN></A>.onThreshold: unaWaveInOnThresholdEvent;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_TunavclWaveInDevice"><SPAN class="class">TunavclWaveInDevice</SPAN></A>.enableDataProcessing: [unknown];</SPAN><P />
Specifies whether the component would produce any data.
Setting this property to False does not release the waveIn device.
Set active property to False to release the device as well.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_TunavclWaveInDevice"><SPAN class="class">TunavclWaveInDevice</SPAN></A>.silenceDetectionMode: [unknown];</SPAN><P />
Specifies how component should detect silence.
</TD></TR></TABLE></DIV>
<DIV><P /><H4>Class <A NAME="class_TunavclWaveOutDevice"><SPAN class="class">TunavclWaveOutDevice</SPAN></A>(<A HREF="#class_unavclInOutWavePipe"><SPAN class="class">unavclInOutWavePipe</SPAN></A>)</H4><P />
<P /><I>Purpose</I>: real time PCM audio stream playback using the sound card or other hardware device.
<P /><I>Usage</I>: If components has no provider component with formatProvider=true, specify PCM stream parameters before activating: pcm_SamplesPerSec, pcm_BitsPerSample and pcm_NumChannels.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -