VCX. Remote lecturer

Subscribe to RSS news feed

Describes how to distribute audio stream being received from a remote source among several subscribers using Visual Studio (C#, Visual Basic .NET, Visual Basic 6.0 or Visual C++ 6.0).

Server downloads
Binary : sample_remote_lecturer_server.zip
C#: sample_remote_lecturer_server_source_csharp.zip
VB.NET: sample_remote_lecturer_server_source_vbnet.zip
VB: sample_remote_lecturer_server_source_vb.zip
C++: sample_remote_lecturer_server_source_vc.zip

Client downloads
Binary : sample_remote_lecturer_client.zip
C#: sample_remote_lecturer_client_source_csharp.zip
VB.NET: sample_remote_lecturer_client_source_vbnet.zip
VB: sample_remote_lecturer_client_source_vb.zip
C++: sample_remote_lecturer_client_source_vc.zip

Introduction

Remote lecturer demo illustrates the one speaker - many listeners approach which implies that one client (speaker) is a provider of the audio stream and all the others (listeners) are consumers.

A client that works in the speaker mode connects to Remote Lecturer Server, which in turn distributes audio to the listeners. Listeners can connect and disconnect at any time. Server automatically assigns the next available channel for a new Listener.

Remote Lecturer diagram

Server setup

Specify a protocol/port for the speaker and listener sides. Press the Start/Stop buttons to start/stop the server.

Server, click for full sized image.

Client setup

Specify whether the client works in either speaker or listener mode. Select a sound card. Enter the server IP address and select the corresponding protocol/port. Press the Connect/Disconnect buttons to start/stop your session.

Client, click for full sized image.

Programming background

1) Server uses two IpServer components: IpServer (speaker) > IpServer (listeners).

The Speaker IpServer component receives audio from the speaker side and passes it to the Listener IpServer component. The Listener IpServer component sends audio to all listener clients connected to it.

Remote lecturer, click for full sized image.

2) Client uses the MediaGate component.

Set MediaGate.Proto, MediaGate.Port properties and call MediaGate.Connect method to connect to the Remote Lecturer server.