Advertisement Jump to content


This topic is now archived and is closed to further replies.


How to Play a sound from only one of 4 speakers

This topic is 5387 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello, I am trying to play a simple mono wav file through only one channel of a four speaker sound system. I''d rather not use 3D sound processing if at all possible. I came across WAVEFORMATEXTENSIBLE which is used for multichannel wav files and figured that I could hack it to play a mono sound through just one of four speakers (driven by a SBLive! or other modern sound card). Even when I thought I had the WAVFORMATEXTENSIBLE struct set up correctly, any sounds I played still came out through all four channels. Then I came across which has the lines >To add support for multi-channel playback in your audio driver you must make >the WDM audio system aware of the capabilities of your hardware. First you >must use an extend version of KSDATAFORMAT_WAVEFORMATEX. But I''d assume that if I''m using something like a sound blaster live that the audio driver would inherently know of multi-channel playback support? Is it possible to do what I am attempting with WAVEFORMATEXTENSIBLE? Do I need to worry about KSDATAFORMAT at all? Is there a better way to do what I''m trying to do? Any suggestions would be very greatly appreciated. Thanks a whole lot. -Frost

Share this post

Link to post
Share on other sites

sorry for awaking this post but did someone have an answer for Frost159 question ??



Share this post

Link to post
Share on other sites
When I want to use the stereo channels for two separate independent mono devices I simply place the independent mono data into the right or left channel bytes of the playback buffer. THus if I am only using one channel, the other channel is filled with silence.

I guess that is not what one would call "support" as you have to do it yourself. However, if there was a support routine all that routine would do was place silence values into the unused channel(s). On the other hand, most sound cards are not designed to have separate formatting characteristics for each of their channels. In other words, don''t expect to send the right channel using one sample rate and the left channel using another sample rate though I would love to be able to so that!

Unfortunately I do not know how the four channel sound systems work. DirectSound doesn''t seem to have any of that. I am not sure but on my Soundblaster Live I think there are two separate outputs for four channel sound, each output having two channels I suppose.

My guess would be that each of those outputs work as the single standard stereo channel output most are familiar with. Direct3D Sound probably has "support" which hides that, but I don''t know...I have never used it. THough I would love to have control of four separate outputs in the same way I have control over the two separate stereo channels, my application requires an equal number of channels on the capture side; in fact that is more critical. THAT I know doesn''t exist.

Nevertheless, if anyone has any information about the four channel output on sound cards (is it two stereo channels?) I would love to know!


Share this post

Link to post
Share on other sites

  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!