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

📄 index_demos.html

📁 Voice Commnucation Components for Delphi
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<P><A HREF="pix2/pushBMP.gif"><IMG src="pix2/pushBMP_tn.gif" alt="pushBMP, click for full sized image." border="0"/></A>

<P>In addition to audio and text, you can exchange any custom data with remote side. Our <B>Push BMP</B> demo creates audio conversation channel, after that it is possible to use it to send a picture from one side to another. There is no need to create a new connection for custom data exchange.

<P>NOTE: Although VC will care about re-packing big data blocks into smaller ones, avoid sending more than 16 KB at a time. Create a loop and send smaller chunks one by one instead. Collect these chunks on remote side (VC will ensure proper order of packets even for UDP). Be also sure not to overload the bandwidth (in this case, for UDP some data will be lost, for TCP there will be some delays and gaps in real-time audio streaming).
</DIV>


<!------------------------->
<DIV><P><HR>
<P><A NAME="vctalknow"><H4>Talk Now</H4></A>

<P><A HREF="pix2/talkNow.gif"><IMG src="pix2/talkNow_tn.gif" alt="Talk Now, click for full sized image." border="0"/></A>

<P><B>Talk Now</B> is a more advanced audio streaming application. It includes server and client parts. You start server part on one machine and client on another. Streaming is done in both directions using one connection. Specify port number and socket type for server. Client must specify the IP address (or DNS name) of server machine and streaming port number, as well as socket type (TCP or UDP). It is also possible select any installed codec to be used for audio compressing with this demo.

<P>For long-latency networks, such as satellite connection, it is recommended to use UDP sockets. This demo can also large pre-buffers to avoid audio loss in such networks. This options can be turned on and off in Options menu.

<P>In addition, vaTalkNow Server can handle more than one Client connection, enabling conference-like audio streaming. Maximum number of clients may be specified in Options menu. Source of audio distributed among Clients is live recording done on Server side. For demonstration of how to distribute remote audio source, please refer to <A href="#mediagate">Distribution Server and Client</A> demo.

<P>Another advanced audio streaming application is <A href="#vcnettalk">Net Talk</A> demo.
</DIV>


<!------------------------->
<DIV><P><HR>
<P><A NAME="vcnettalk"><H4>Net Talk</H4></A>

<P><A HREF="pix2/netTalkServer.gif"><IMG src="pix2/netTalkServer_tn.gif" alt="Net Talk server, click for full sized image." border="0" /></A>
<A HREF="pix2/netTalkClient.gif"><IMG src="pix2/netTalkClient_tn.gif" alt="Net Talk client, click for full sized image." border="0" /></A>

<P>Real time audio streaming requires some advanced techniques to be used, such as audio compression, real time streaming protocol and others. <B>Net Talk</B> demo combines all of this features and demonstrates the power of VC components.

<P>Both server and client can use any installed ACM codec to compress the stream. Both can mix real time recording with WAVe file stored on your disk. You can disconnect and connect the client at any time, without restarting the server. If you stop the server, the client must be reconnected.

<P>As with <A href="#vcnettalk">Talk Now</A> demo, there are server and client parts in the same application, and only one part should be active at a time on one machine.

<P>Both UDP (datagram) and TCP (streaming) sockets can be used for connection.

<P>Server and client can use different ACM audio codecs, but make sure the codec selected on one side is installed on remote side.

</DIV>

<!------------------------->
<DIV><P><HR>
<P><A NAME="rawstreamer"><H4>RAW Streamer</H4></A>

<P><A HREF="pix2/rawstreamer.gif"><IMG src="pix2/rawstreamer_tn.gif" alt="Raw Streamer, click for full sized image." border="0" /></A>

<P>Sometimes audio data must be sent over network as it is, without additional headers and protocol.

<P>This demo shows how to setup client and/or server for raw streaming mode.

</DIV>

<!------------------------->
<DIV><P><HR>
<P><A NAME="vcAudioTunnel"><H4>Audio Tunnel</H4></A>

<P><A HREF="pix2/audioTunnel.gif"><IMG src="pix2/audioTunnel_tn.gif" alt="Audio Tunnel, click for full sized image." border="0" /></A>

<P><B>Audio Tunnel</B> sample was designed to allow TCP/IP clients and servers located behind proxy/firewall to communicate with outer world by maintaining an virtual "audio tunnel" connection.

<P>This application should be running on a router machine, which has access to both Internet and local network. It should also be configured to listen for incoming request from local or remote client, and to redirect this request to
local or remote server. One instance of this application can support one peer-to-peer connection:

<P>CLIENT  &lt;--&gt Audio Tunnel &lt;--&gt SERVER

</DIV>

<!------------------------->
<DIV><P><HR>
<P><A NAME="vcbroadcast"><H4>Broadcast</H4></A>

<P><A HREF="pix2/broadServer.gif"><IMG src="pix2/broadServer_tn.gif" alt="Broadcast server, click for full sized image." border="0" /></A>
<A HREF="pix2/broadClient.gif"><IMG src="pix2/broadClient_tn.gif" alt="Broadcast client, click for full sized image." border="0" /></A>

<P>Broadcasting is a feature, supported in LAN (Local Area Networks) only. Broadcast server does not know about how many clients will listen for distributed audio stream. Clients usually do not send any data back to server, so it is very similar to usual radio broadcasting.

<P><B>Broadcast</B> sample shows how to use classes from VC components to build efficient audio broadcasting system.

<P>You can restart Clients and Server at any time. If changes were made in the format of audio stream being distributed by Server, Clients will synchronize with new format automatically without end-user interaction.

</DIV>


<!------------------------->
<DIV><P><HR>
<P><A NAME="vcmp3demo"><H4>DLL Encoder Demo (Mp3Demo)</H4></A>

<P><A HREF="pix2/mp3DemoServer.gif"><IMG src="pix2/mp3DemoServer_tn.gif" alt="DLL Encoder Demo Server, click for full sized image." border="0" /></A>
<A HREF="pix2/mp3DemoClient.gif"><IMG src="pix2/mp3DemoClient_tn.gif" alt="DLL Encoder Demo Client, click for full sized image." border="0" /></A>

<P>It is possible to integrate external PCM stream encoders and decoders with VC components to produce custom audio files and streams, such as MP3 or Ogg/Vorbis. These formats may be not supported by installed ACM codecs and therefore external libraries are required.

<P>VC components has native support for Blade and Lame MP3 encoders, Vorbis/Ogg encoder and decoder, BASS library and MpgLib MP3 decoder library. Press the Copyrights button to get more information about these libraries.

<P>In <B>DLL Encoder Demo</B> all operations are performed in real-time, making it possible to use these engines for real-time audio streaming.

</DIV>


<!------------------------->
<DIV><P><HR>
<P><A NAME="vcScriptor"><H4>Scriptor</H4></A>

<P><A HREF="pix2/scriptor.gif"><IMG src="pix2/scriptor_tn.gif" alt="Scriptor, click for full sized image." border="0" /></A>

<P><code>TunavclScriptor</code> component is a simple run-time script interpreter. It can be used to create components from VC set at run time, link and activate them. It also allows to retrieve or modify most of the properties of created components. Script source could be modified by end-user (or application itself) and executed at any time.

<P><B>Scriptor</B> sample shows what and how you can do with that powerful tool.

</DIV>


<!------------------------->
<DIV><P><HR>
<P><A NAME="vcIcyClient"><H4>Icy Streamer</H4></A>

<P><A HREF="pix2/icyStreamerClient.gif"><IMG src="pix2/icyStreamerClient_tn.gif" alt="Icy Streamer Client, click for full sized image." border="0" /></A>
<A HREF="pix2/icyStreamerSource.gif"><IMG src="pix2/icyStreamerSource_tn.gif" alt="Icy Streamer Source, click for full sized image." border="0" /></A>

<P><B>Icy Streamer</B> sample shows how to stream live audio to specified SHOUTcast server, and how to receive and listen live stream from it. It uses Lame library to encode audio in MP3 format, and BASS or MpgLib library to decode it to PCM for playback.

<P><A href="http://www.shoutcast.com/">SHOUTCAST</A>(TM) are copyright protected and are the property of <A href="http://www.nullsoft.com/">Nullsoft, Inc</A>.

<P>&nbsp;

</DIV>


<!------------------------->
<DIV><P><HR>
<P><A NAME="vcmulticonsumer"><H4>Multi-Consumer</H4></A>

<P><A HREF="pix2/multiConsumer.gif"><IMG src="pix2/multiConsumer_tn.gif" alt="Multi-Consumer, click for full sized image." border="0" /></A>

<P>It is now possible to link one component with any number of other components (consumers). This makes it simple to distribute audio from one source to several destinations. In our <B>Multi-Consumer</B> sample you can add any number of consumers to live recording source at run-time.

<P>For example, it is possible to stream audio to remote server(s) or client(s), save it into local WAVe file(s) or listen it on live playback, all at the same time. Programmatically all you have to do is to use the <CODE>addConsumer()</CODE> method to link one component with another. VC components will care for proper format negotiation and component activation.

<P>This feature dramatically reduces development time of complex audio processing applications.

</DIV>



<!------------------------->
<DIV><P><HR>
<P><A NAME="mediagate"><H4>Distribution Server and Client (mediaGate)</H4></A>

<P><A HREF="pix2/mgServer.gif"><IMG src="pix2/mgServer_tn.gif" alt="Distribution Server, click for full sized image." border="0" /></A>
<A HREF="pix2/mgClient.gif"><IMG src="pix2/mgClient_tn.gif" alt="Distribution Client, click for full sized image." border="0" /></A>

<P>Making conference-like communication applications with VC components is as easy as making peer-to-peer voice chat projects. <B>Distribution Server and Client</B> samples show how to distribute audio stream being received from remote source among several Clients. The process is shown on a picture below.

<P style="text-align: center;"><A HREF="pix/mgDemo_scheme.gif"><IMG src="pix/mgDemo_scheme_thumb.gif" alt="mediaGate scheme, click to enlarge"  border="0" /></A>

<P>One designated Client working in "speaker" mode connects to mediaGate server, which in turn distribute audio to "listeners". Listeners can connect and disconnect at any time, and Server will automatically assign next available channel for new Listener.

<P>In addition, this demo shows how to enable/disable audio distribution from server to selected clients. Disabled client remains connected, but does not receive any audio.

</DIV>



<!------------------------->
<DIV><P><HR>
<P><A NAME="vcmulticast"><H4>Multicast source and end-point</H4></A>

<P><A HREF="pix2/mcSource.gif"><IMG src="pix2/mcSource_tn.gif" alt="Multicast Source, click for full sized image." border="0"/></A>
<A HREF="pix2/mcEndPoint.gif"><IMG src="pix2/mcEndPoint_tn.gif" alt="Multicast End Point, click for full sized image." border="0"/></A>

<P>UDP sockets have many applications which are not possible to achieve with TCP sockets. One of the application is <A href="http://en.wikipedia.org/wiki/Multicast">multicast</A> technology, where data is delivered to a group of recipients simultaneously. There should be a data source, which creates a group, produces the data and sends it over network, and number of end-points, which join some group or groups, announcing their interest, so network hardware may create the most efficient routing.

<P>Unlike with <A href="http://en.wikipedia.org/wiki/Broadcasting">broadcasting</A>, shows in our <A HREF="#vcbroadcast"><B>Broadcast</B></A> demo, multicast streams may reach clients connected through Internet, not only LAN, and preserve hardware resource (like bandwidth) so much larger number of clients may be served at the same time.

<P>All job is done by the <CODE>unaMulticastSocket</CODE> class declared in <CODE>unaSockets.pas</CODE> unit, and <B>Multicast source</B> and <B>Multicast end-point</B> samples show how to use this class for live audio streaming.

</DIV>



<!------------------------->
<DIV><P><HR>
<P><A NAME="vcconfroom"><H4>Conference Server and Client</H4></A>

<P><A HREF="pix2/confServer.gif"><IMG src="pix2/confServer_tn.gif" alt="Conference Server, click for full sized image." border="0"/></A>
<A HREF="pix2/confClient.gif"><IMG src="pix2/confClient_tn.gif" alt="Conference Client, click for full sized image." border="0"/></A>

<P>In many applications it may be needed to provide the ability for several clients to participate in one audio meeting or conference, where everyone can hear each other, just like in real life. When more than two clients are considered, some special audio processing may be needed to fulfill this task. Although it actually can be done with VC components and classes, not all developers are willing to dive into the details, and would rather prefer to re-use already working solution.

<P>That is why we have included the <B>Conference Server</B> and <B>Conference Client</B> samples into our package. The Server is responsible for accepting client connections, mixing audio data and feeding the clients with proper audio streams. It also provides ability for participants to exchange text information. Client can be any application based on our IpClient component, such as <A HREF="#vctalknow">Talk Now</A>, <A HREF="#vcvoicechat">Voice Chat</A> or similar samples, but we have also included another custom client with some additional features.

<P>All job is done by <CODE>unaConfClientClass</CODE> and <CODE>unaConfServerClass</CODE> classes declared in <CODE>unaConfClient.pas</CODE> and <CODE>unaConfServer.pas</CODE> units.

</DIV>




<P>&nbsp;









  </TD>
</TR>
</TABLE>

<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 + -