Here’s the long term problem I’ve had for a while…
I have a system with 2 or 3 soundcards or a card that has four stereo outputs…the type that is usually used with music sequencing.
I need to play directly to the second soundcard a audio file that has been compressed using MP3 or IMA ADPCM codecs.
Under the normal api you can tell it to target device 0 or 2 etc but will only accept non-compressed audio then.
I am unfortunately using VB which is what I’m stuck with.
The code that I’ve downloaded and looked at so far doesn’t seem to be able to actually target a specific device, just tells you where it’s gone to…
Can anyone help ???
- steviep asked 15 years ago
[quote="brett":37oaw8yp]target a device? you use FSOUND_SetDriver to pick a soundcard for a particular instance of fmod, used when you dynamically load the dll. i guess you’re not even talking about fmod and are asking if it is possible with fmod? because the visual basic side doesnt even do dynamic loading. In fact, if you are using VB you are out of luck. You have to use C or delphi. (unless you hack an fmod2.bas maybe with all different symbols – ie a FSOUND_Init2 etc) and copy the dll, which is a bit of a horrible hack)[/quote:37oaw8yp]
Suppose I used this method; would it allow a non-linear wave file such as adpcm to go to the specified device via the acm (i.e. fmod would have it decompressed before it goes to the soundcard)?
If you already have made an fmod2.bas, then using this one is as easy as using the first one, only use the second function call (ie FSOUND2_Init, …) to handle the second output.
Since your stream/sample would be decoded when you use it on one soundcard, there is no reason why it wouldn’t be decoded for another soundcard.
The only thing that is not possible is playing a stream opened on the first fmod through the second fmod.
To do that you need to open the stream once for each fmod.
Please login first to submit.