📄 vc25pro_doc_unadspdlibpipes.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Lake of Soft :: Audio streaming components for Delphi/BDS and C++Builder :: Classes </TITLE>
<META name="keywords" content="voice,voip,delphi,builder,bcb,audio,tcp,udp,connection,broadcast,record,playback,sample,rate,pcm,compression,codec,mixer,resample,mp3,acm,streaming,conference,wav,vorbis,bass,shoutcast">
<LINK REL="STYLESHEET" TYPE="text/css" HREF="vc25_doc.css">
</HEAD>
<BODY>
<DIV class="center"><H2>Voice Communicator components version 2.5.2007.04 Pro classes reference</H2></DIV>
<P>Last updated: April 2007
<DIV><P>List of most important units included in <A href="http://lakeofsoft.com/vc/">VC components</A> version 2.5 Pro:
<UL>
<LI>General purpose units:</LI>
<UL>
<LI><A HREF="vc25pro_doc_unaTypes.html#unit_unaTypes">unaTypes.pas</A></LI>
<LI><A HREF="vc25pro_doc_unaUtils.html#unit_unaUtils">unaUtils.pas</A></LI>
<LI><A HREF="vc25pro_doc_unaClasses.html#unit_unaClasses">unaClasses.pas</A></LI>
<LI><A HREF="vc25pro_doc_unaSockets.html#unit_unaSockets">unaSockets.pas</A></LI>
</UL>
<LI>MS Wave/ACM/VCL units:</LI>
<UL>
<LI><A HREF="vc25pro_doc_unaMsAcmAPI.html#unit_unaMsAcmAPI">unaMsAcmAPI.pas</A></LI>
<LI><A HREF="vc25pro_doc_unaMsAcmClasses.html#unit_unaMsAcmClasses">unaMsAcmClasses.pas</A></LI>
<LI><A HREF="vc25pro_doc_unavcIDE.html#unit_unavcIDE">unavcIDE.pas</A><BR/></LI>
</UL>
<LI>DSP Library units:</LI>
<UL>
<LI><A HREF="vc25pro_doc_unaDspDLib.html#unit_unaDspDLib">unaDspDLib.pas</A></LI>
<LI><A HREF="vc25pro_doc_unaDspDLibPipes.html#unit_unaDspDLibPipes">unaDspDLibPipes.pas</A></LI>
</UL>
<LI>Additional units:</LI>
<UL>
<LI><A HREF="vc25pro_doc_unaWinClasses.html#unit_unaWinClasses">unaWinClasses.pas</A></LI>
<LI><A HREF="vc25pro_doc_unaWave.html#unit_unaWave">unaWave.pas</A></LI>
<LI><A HREF="vc25pro_doc_unaMsMixer.html#unit_unaMsMixer">unaMsMixer.pas</A></LI>
<LI><A HREF="vc25pro_doc_unaEncoderAPI.html#unit_unaEncoderAPI">unaEncoderAPI.pas</A></LI>
</UL>
</UL>
</DIV><DIV><P /><HR />
<P /><H3><A NAME="unit_unaDspDLibPipes">Unit <SPAN class="unit">unaDspDLibPipes</SPAN></A>.</H3><P /><P />Classes:
<UL> <LI>class <A HREF="#class_unaDSPDLibWavePipe"><SPAN class="class">unaDSPDLibWavePipe</SPAN></A>(<SPAN class="class">unavclInOutWavePipe</SPAN>)</LI>
<LI>class <A HREF="#class_unavclDSPDLibMultiBand"><SPAN class="class">unavclDSPDLibMultiBand</SPAN></A>(<A HREF="#class_unaDSPDLibWavePipe"><SPAN class="class">unaDSPDLibWavePipe</SPAN></A>)</LI>
<LI>class <A HREF="#class_TunavclDSPDLibEQ"><SPAN class="class">TunavclDSPDLibEQ</SPAN></A>(<A HREF="#class_unavclDSPDLibMultiBand"><SPAN class="class">unavclDSPDLibMultiBand</SPAN></A>)</LI>
<LI>class <A HREF="#class_TunavclDSPDLibMBSP"><SPAN class="class">TunavclDSPDLibMBSP</SPAN></A>(<A HREF="#class_unavclDSPDLibMultiBand"><SPAN class="class">unavclDSPDLibMultiBand</SPAN></A>)</LI>
</UL>
<P />Routines:
<UL> <LI><A HREF="#routine_unavclRawSamplesAvailable">unavclRawSamplesAvailable()</A>;</LI>
<LI><A HREF="#routine_Register">Register()</A>;</LI>
</UL>
<DIV><HR /><P />Unit classes<DIV><P /><H4>Class <A NAME="class_unaDSPDLibWavePipe"><SPAN class="class">unaDSPDLibWavePipe</SPAN></A>(<SPAN class="class">unavclInOutWavePipe</SPAN>)</H4><P />
Abstract wave DSP DLib pipe.
<P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaDSPDLibWavePipe"><SPAN class="class">unaDSPDLibWavePipe</SPAN></A>.convertOutFloat2PCM(out buf: pointer): int; virtual;</SPAN><P />
Converts DSP DLib output float buffer(s) to PCM plain buffer, and returns its size in bytes.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaDSPDLibWavePipe"><SPAN class="class">unaDSPDLibWavePipe</SPAN></A>.isActive(): bool; override;</SPAN><P />
Returns true if component was activated.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaDSPDLibWavePipe"><SPAN class="class">unaDSPDLibWavePipe</SPAN></A>.doOpen(): bool; override;</SPAN><P />
"Activates" the component.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaDSPDLibWavePipe"><SPAN class="class">unaDSPDLibWavePipe</SPAN></A>.doClose(); override;</SPAN><P />
"Deactivates" the component.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaDSPDLibWavePipe"><SPAN class="class">unaDSPDLibWavePipe</SPAN></A>.applyDeviceFormat(const format: WAVEFORMATEX; isSrc: bool = true): bool; override;</SPAN><P />
Applies new format on DSP automation.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaDSPDLibWavePipe"><SPAN class="class">unaDSPDLibWavePipe</SPAN></A>.doWrite(data: pointer; len: unsigned; provider: unavclInOutPipe = nil): int; override;</SPAN><P />
Processes new chunk with DSP automation.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaDSPDLibWavePipe"><SPAN class="class">unaDSPDLibWavePipe</SPAN></A>.doRead(data: pointer; len: unsigned): unsigned; override;</SPAN><P />
Reads last data processed by DSP automation.
Not yet implemented.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">constructor <A HREF="#class_unaDSPDLibWavePipe"><SPAN class="class">unaDSPDLibWavePipe</SPAN></A>.create(owner: tComponent); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaDSPDLibWavePipe"><SPAN class="class">unaDSPDLibWavePipe</SPAN></A>.AfterConstruction(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaDSPDLibWavePipe"><SPAN class="class">unaDSPDLibWavePipe</SPAN></A>.BeforeDestruction(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaDSPDLibWavePipe"><SPAN class="class">unaDSPDLibWavePipe</SPAN></A>.automation: unaDSPLibAutomat;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaDSPDLibWavePipe"><SPAN class="class">unaDSPDLibWavePipe</SPAN></A>.processDataInPlace: bool;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaDSPDLibWavePipe"><SPAN class="class">unaDSPDLibWavePipe</SPAN></A>.isFormatProvider: [unknown];</SPAN><P />
DSP components are usually a format providers -- 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_unaDSPDLibWavePipe"><SPAN class="class">unaDSPDLibWavePipe</SPAN></A>.enableDataProcessing: [unknown];</SPAN><P />
Specifies whether the component would perform any data processing.
</TD></TR></TABLE></DIV>
<DIV><P /><H4>Class <A NAME="class_unavclDSPDLibMultiBand"><SPAN class="class">unavclDSPDLibMultiBand</SPAN></A>(<A HREF="#class_unaDSPDLibWavePipe"><SPAN class="class">unaDSPDLibWavePipe</SPAN></A>)</H4><P /><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unavclDSPDLibMultiBand"><SPAN class="class">unavclDSPDLibMultiBand</SPAN></A>.doSetNumBands(value: uint); virtual;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unavclDSPDLibMultiBand"><SPAN class="class">unavclDSPDLibMultiBand</SPAN></A>.getNumFreq(): int; virtual;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unavclDSPDLibMultiBand"><SPAN class="class">unavclDSPDLibMultiBand</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_unavclDSPDLibMultiBand"><SPAN class="class">unavclDSPDLibMultiBand</SPAN></A>.AfterConstruction(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclDSPDLibMultiBand"><SPAN class="class">unavclDSPDLibMultiBand</SPAN></A>.dsplObj: dspl_handle;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclDSPDLibMultiBand"><SPAN class="class">unavclDSPDLibMultiBand</SPAN></A>.frequency[]: dspl_float;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclDSPDLibMultiBand"><SPAN class="class">unavclDSPDLibMultiBand</SPAN></A>.numBands: uint;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unavclDSPDLibMultiBand"><SPAN class="class">unavclDSPDLibMultiBand</SPAN></A>.freqAssignMode: unavcDSPDLib_freqAssignMode;</SPAN><P /></TD></TR></TABLE></DIV>
<DIV><P /><H4>Class <A NAME="class_TunavclDSPDLibEQ"><SPAN class="class">TunavclDSPDLibEQ</SPAN></A>(<A HREF="#class_unavclDSPDLibMultiBand"><SPAN class="class">unavclDSPDLibMultiBand</SPAN></A>)</H4><P />
EQ Pipe.
<P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_TunavclDSPDLibEQ"><SPAN class="class">TunavclDSPDLibEQ</SPAN></A>.doSetNumBands(value: uint); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">constructor <A HREF="#class_TunavclDSPDLibEQ"><SPAN class="class">TunavclDSPDLibEQ</SPAN></A>.create(owner: tComponent); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_TunavclDSPDLibEQ"><SPAN class="class">TunavclDSPDLibEQ</SPAN></A>.gain[]: dspl_float;</SPAN><P /></TD></TR></TABLE></DIV>
<DIV><P /><H4>Class <A NAME="class_TunavclDSPDLibMBSP"><SPAN class="class">TunavclDSPDLibMBSP</SPAN></A>(<A HREF="#class_unavclDSPDLibMultiBand"><SPAN class="class">unavclDSPDLibMultiBand</SPAN></A>)</H4><P />
Multi-band Splitter Pipe.
<P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_TunavclDSPDLibMBSP"><SPAN class="class">TunavclDSPDLibMBSP</SPAN></A>.convertOutFloat2PCM(out buf: pointer): int; override;</SPAN><P />
Converts DSP DLib output float buffer(s) to PCM plain buffer, and returns its size in bytes.
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_TunavclDSPDLibMBSP"><SPAN class="class">TunavclDSPDLibMBSP</SPAN></A>.getNumFreq(): int; override;</SPAN><P />
Num of freqs is one less than numBands in MBSP, so we override this function
</TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">constructor <A HREF="#class_TunavclDSPDLibMBSP"><SPAN class="class">TunavclDSPDLibMBSP</SPAN></A>.create(owner: tComponent); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_TunavclDSPDLibMBSP"><SPAN class="class">TunavclDSPDLibMBSP</SPAN></A>.AfterConstruction(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_TunavclDSPDLibMBSP"><SPAN class="class">TunavclDSPDLibMBSP</SPAN></A>.BeforeDestruction(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_TunavclDSPDLibMBSP"><SPAN class="class">TunavclDSPDLibMBSP</SPAN></A>.passThrough[]: bool;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_TunavclDSPDLibMBSP"><SPAN class="class">TunavclDSPDLibMBSP</SPAN></A>.processDataInPlace: [unknown];</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_TunavclDSPDLibMBSP"><SPAN class="class">TunavclDSPDLibMBSP</SPAN></A>.onRawSamplesAvailable: unavclRawSamplesAvailable;</SPAN><P />
Fired when raw multi-band samples are ready.
</TD></TR></TABLE></DIV>
</DIV>
<DIV><HR /><P />Unit routines<DIV><P /><TABLE BORDER="1" width="100%"><TR><TD><A NAME="routine_unavclRawSamplesAvailable"><SPAN class="source">procedure <SPAN class="class">unaDspDLibPipes</SPAN>.unavclRawSamplesAvailable(sender: unavclInOutPipe; numSamples, numBands, channel: uint; samples: punaDspBandRawSamples) of object;</SPAN></A><P />
Fired when raw multi-band samples are ready.
</TD></TR></TABLE></DIV><DIV><P /><TABLE BORDER="1" width="100%"><TR><TD><A NAME="routine_Register"><SPAN class="source">procedure <SPAN class="class">unaDspDLibPipes</SPAN>.Register();</SPAN></A><P />
Registers VC DSP DLib components in Delphi IDE components palette.
</TD></TR></TABLE></DIV></DIV>
</DIV>
<HR><DIV style="text-align: center; font-size: 8pt">© 2000-2007 <A HREF="http://www.lakeofsoft.com/">Lake of Soft, Ltd</A><BR></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -