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?
- Creating a sound editing program
- Using your computer to make
a phone call (it would be the difficult way of doing it though)
- 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.
|