<Sound Dev> DirectSound multi-channel recording

Alex Menkov Alexey.Menkov at Sun.COM
Mon Sep 24 05:16:28 PDT 2007



Klaus Jaensch wrote:
>> It's CR 6477263: JavaSound doesn't support multi-channels on Windows
>> (http://bugs.sun.com/view_bug.do?bug_id=6477263)
>> Feel free to develop a fix for the CR :)
> Yes good idea, but I fear building the JDK under Windows, because Sun uses 
> old versions of SDK's and Compiler (I do not have VS.NET 2003 and I don't 
> want to buy it at eBay). I have already build an older JDK version and it 
> was horrible. (Tweaking make files and so on ...)
> Is it possible to compile dsound.dll seperatly with VS 2005 Express ?

Due the build doc (make/README-builds.html) "VS2005 compiler will not work at 
this time due to the new runtime dll and the manifest requirements". :(
I never used VS2005 so I don't know what it requires.
AFAIR there was some free toolkit with VS2003 c++ compiler. Most likely it 
should work.
(BTW you need to build jsoundds.dll - see make/javax/sound/jsoundds)

>> Why do you want to keep supported format unchanged?
>> Right way is to change the supported formats (line/mixer should report formats
>> it really supports).
> Yes, you are right. But I do not know if it is possible to get the 
> supported formats from DirectSound.
> I think the number of capture channels is available, but only when the 
> line is open.   

Yes, DirectSound does not provide information about HW capabilities (the 
detection was possible in WinMM, but I don't remember is it possible to 
determine relations between WinMM & DS devices and I'm not sure WinMM functions 
supports >2 channels).
Anyway I think due DirectSound can handle multi-channel audio, JavaSound should 
report it as supported formats (at least for playback, capturing requires 
additional research).

> Regards,
> Klaus
>> Regards
>> Alex
>> Klaus Jaensch wrote:
>>> Hello,
>>> I would like to record multi-channel 24-bit audio with the DirectSound
>>> JavaSound implementation under Windows. 
>>> But the audio formats defined in
>>> j2se/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_DirectSound.cpp
>>> are limited to 8/16bit and 1 or 2 channels. 
>>> I would like to discuss how this limitation could be removed.
>>> For testing multichannel capabilities of JavaSound I extended channelsArray
>>> up to 8 channels and bitsArray for 24/32 bit recordings, then compiled
>>> dsound.dll and tested recording.
>>> It worked fine, so it's a pity that the recording formats are restricted to
>>> basic formats.
>>> The question is how to make multi-channel possible without changing the
>>> supported defaults formats, which can be queried by
>>> isFormatSupported(AudioFormat).
>>> Regards,
>>> Klaus
>>> ------------------------------------------
>>> Klaus Jaensch
>>> Muenchen
>>> Germany
>>> Institut fuer Phonetik und Sprachverarbeitung
>>> Schellingstr.3/II
>>> 80799 München
>>> EMail: klausj at phonetik.uni-muenchen.de
> ------------------------------------------
> Klaus Jaensch
> Muenchen
> Germany
> Institut fuer Phonetik und Sprachverarbeitung
> Schellingstr.3/II
> 80799 München
> Phone (Work): +49-(0)89-2180-2806
> Fax:          +49-(0)89-2180-5790
> EMail: klausj at phonetik.uni-muenchen.de

More information about the sound-dev mailing list