Main Site Links Resources Tutorials
News VB Gaming Code Downloads DirectX 7
Contact Webmaster VB Programming Product Reviews DirectX 8
  General Multimedia Articles DirectX 9
      Miscellaneous

DirectSound: Full Duplex
By: Jack Hoxley
Written: June 2000

Download: DS_FullDuplex.zip (10kb)


Full duplex is a method of recording AND playing buffers at the same time. Before venturing into this area I suggest that you experiment with and understand normal recording.

Full duplex is not normally required by games, as only the most technologically advanced ones accept voice/sound input. It is also hardware dependent - not all computers can support it. You find it commonly used with modems; technically a normal phone call is an example of full duplex - you can speak as well as hear the other end.

Another problem with full duplex is that the end user must have it enabled; directsound may well report that the computer supports it; but if it doesn't work it is likely that it has been disabled. The other thing to bare in mind is that it requires the user to have a microphone connected to their computer; it's simple common sense - how else are they going to record sound?

So, what uses are there for Full Duplex?

  1. Creating a sound editing program
  2. Using your computer to make a phone call (it would be the difficult way of doing it though)
  3. Some form of internet communication; although it is probably better to use DirectX8's voice communication in directplay

And not much else. I'm pretty sure you could think of something to use it for, and the above are fairly general ideas.

Full duplex isn't actually directly built into directsound; instead, it is something that we can program by manipulating directsounds capabilities and services. All we are doing is recording a sound and playing it back again. We use a standard playback setup for the playback components, and we use a standard directsound capture device to do the recording.

It is easier if you look through some simple code for full duplex; an example can be downloaded from the top of this page, or from the downloads page.

DirectX 4 VB 2000 Jack Hoxley. All rights reserved.
Reproduction of this site and it's contents, in whole or in part, is prohibited,
except where explicitly stated otherwise.
Design by Mateo
Contact Webmaster