⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vc25pro_doc_unadspdlibpipes.html

📁 Voice Commnucation Components for Delphi
💻 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">&copy; 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 + -