Skip to content

Latest commit

 

History

History
65 lines (54 loc) · 5.35 KB

README.md

File metadata and controls

65 lines (54 loc) · 5.35 KB

📞Delphi VOIP and Chat Applications

This repository contains two Delphi VCL projects designed for VOIP communication and real-time text chat using the VC (Voice Chat) components by LakeOfSoft. These components are included in this repository for your convenience, available in two versions:

  • Version for Delphi 4 to Delphi XE3: This version is compatible with older Delphi environments.
  • Version for Delphi 12.2 Athens: A partially re-written and fixed version to ensure compatibility with the latest Delphi release.

These applications facilitate audio streaming and messaging for a single-client server connection.

Screenshot of Delphi VOIP and Chat Applications

📋Projects Overview

  • VOIP Server Project: Handles a single client connection for audio streaming and basic text chat functionality.
  • VOIP Client Project: Connects to the server, allowing audio streaming from the client's microphone to the server and basic text-based chat.

Features

  • Audio Streaming: The client sends microphone audio to the server, which plays the audio through the user's preferred output device in Microsoft Windows.
  • Real-Time Text Chat: Allows for messaging between the client and server in real-time.
  • Protocol Flexibility: Supports both TCP and UDP communication modes.
  • Single Client Connection: Server accepts only one client connection at a time for focused communication.
  • Configurable Bitrate: By default, the components are set to their standard PCM bitrate. Users can easily add code to modify the bitrate as needed to suit different audio quality requirements.

🔄Full Duplex Capability

While the current setup facilitates unidirectional audio streaming—where the client sends audio to the server—users can easily modify the application to create a full-duplex solution. This means both the client and server can simultaneously send and receive audio.

  • Client Modifications: Update the client to handle audio input and output. By integrating the audio streaming logic for both sending and receiving, you can allow the client to capture audio from the microphone and play audio received from the server.
  • Server Modifications: The server will need to support multiple streams—receiving audio from the client while sending audio back. By implementing a two-way communication channel, the server can relay audio packets back to the client.
  • Synchronization: Ensure proper synchronization of audio streams to prevent echo and latency issues, possibly using audio buffering techniques.

By implementing these modifications, users can transform the current application into a robust full-duplex VOIP solution.

⚙️Installation

  1. Requirements: Delphi with the VC (Voice Chat) components included in this repository, located in the VC Audio Components For Delphi folder, for audio and socket operations.
  2. Download and Open Project: Clone this repository and open the .dpr files in Delphi for each project.
  3. Compile: Build both projects to generate the executables for the client and server.
  4. Run: Start the server application first, followed by the client.

🔌Usage

  1. Server Setup: Enter a port and start the server to listen for an incoming connection.
  2. Client Connection: Enter the server's IP address and port on the client, select TCP or UDP, and connect.
  3. Audio and Chat: Use the client’s chat interface to send text messages and the integrated audio devices for VOIP streaming.
  4. Adjusting Bitrate: To change the default PCM bitrate, add custom code to the audio component settings in Delphi for enhanced audio quality control.
  5. Disconnection: Click the disconnect button on the client to end the connection gracefully.

🤝Contributing

Contributions are welcome! Please fork this repository, make your changes, and submit a pull request with any bug fixes or enhancements.

📜License

This project is open source and provided "as is" without warranty. Use at your own risk.

📧Contact

Discord: bitmasterxor

Made with ❤️ by BitmasterXor, using Delphi RAD Studio