VCX. Remote lecturer

News

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 (.NET framework is required)

Source code: C# 2005
Source code: Visual Basic .NET 2005
Source code: Visual Basic 6.0
Source code: Visual C++ 6.0

(source code requires the VCX library installed)

Client downloads

Binary (.NET framework is required)

Source code: C# 2005
Source code: Visual Basic .NET 2005
Source code: Visual Basic 6.0
Source code: Visual C++ 6.0

(source code requires the VCX library installed)

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.