65.9K
CodeProject is changing. Read more.
Home

Windows Media video chatting tool

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.32/5 (35 votes)

May 18, 2002

Apache

1 min read

viewsIcon

285482

downloadIcon

11701

Videochat app using Windows Media technology.

Sample screenshot

Video chat using Winsock and Windows media

This software allows one to setup a server and engage in video chatting using Windows media technology. It makes use of capability within "Windows Media Format" SDK to capture audio/video, compress it and deliver it to a client via the "Windows Media Encoder". Windows Media itself is better suited for content distribution, not live video chat. Included within the software is a simple text chat client which coordinates text chat between members in a certain chat room. Below is a list of the core classes and a brief description.

Within the client app, which is the CPianChat app is:

class CEncoderImpl

The above class is the utility class, used to manipulate the encoder interface.

  static IWMEncoder* pEncoder;//encoder interface
  
  void CreateEnc();           //initializes the encoder interface
  void StartEncoder();        //starts the encoder
  void StopEncoding();        //stops encoder
  void Setport();             //set port that other's should connect to.

This class encapsulates the Windows Media Player control.

 class CMediaPlayer2

void Open(LPCTSTR bstrFileName);
//opens a connect to some chatter at "bstrFileName"

To set up the chat server, you'll need a static address for others to connect to. dns2go has what you need. Download the app, select a server name and publish the address (of course, how you accomplish that is your problem :)) for others to use.

You also need to include the path of the WMSDK include folder to the VC++ 6.0 directory list. Install the Windows Media Encoder. Register the Windows Media Player control (it used to be called wmp.ocx).

With all of the above done, you're ready to video chat. :)

Pump up your app, go to Tools and start the encoder. Find a room or create one. There's a lot of room for improvement and feature additions. Questions are welcome. Jobs too :).