Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Advanced Audio Manipulation

OK, Ive spent the last couple days learning all I can about MCI strings and commands. I have a program that can now play and record multiple WAVS at once. Can anyone tell me how to indivudually control a WAVS volume and panning?
If im playing 4 wavs at once, lets say, I need to individually change their volumes and pans, just like you would do with an audio mixer in the real world.
I have found nothing in the MCI docs about manipulating individual WAV volumes and panning. All Ive found is info about changing the master WAV device output level. Its driving me nuts hehehe.

Thanks in advance!

Comments

  • veliusvelius Posts: 456Member
    MMRESULT auxSetVolume(
    UINT uDeviceID,
    DWORD dwVolume
    );
    dwVolume specifies the new volume setting. The low-order word specifies the left-channel volume setting, and the high-order word specifies the right-channel setting. A value of 0xFFFF represents full volume, and a value of 0x0000 is silence.

    Therefore you can control both volume and panning with this function.
    [hr]
    When it came down to it I dropped everything and ran.
    -Ramza Final Fantasy Tactics

  • EmilSndwnEmilSndwn Posts: 60Member
    thanks..... but, this function changes the volume of the whole output device doesnt it? I need to change the volumes of individual wavs.

    : MMRESULT auxSetVolume(
    : UINT uDeviceID,
    : DWORD dwVolume
    : );
    : dwVolume specifies the new volume setting. The low-order word specifies the left-channel volume setting, and the high-order word specifies the right-channel setting. A value of 0xFFFF represents full volume, and a value of 0x0000 is silence.
    :
    : Therefore you can control both volume and panning with this function.
    : [hr]
    : When it came down to it I dropped everything and ran.
    : -Ramza Final Fantasy Tactics
    :
    :

  • veliusvelius Posts: 456Member
    Then you may want to look into DirectX DirectAudio.

    [hr]
    When it came down to it I dropped everything and ran.
    -Ramza Final Fantasy Tactics

  • EmilSndwnEmilSndwn Posts: 60Member
    I need to learn how to do it without relying on the directx library. This program needs to be standalone. If directX can do it, then its possible with low level APIS but there just isnt any info available on it anywhere!!!!!
  • veliusvelius Posts: 456Member
    Sorry, I cannot help you then.
    I appologize for wasting your time.

    [hr]
    When it came down to it I dropped everything and ran.
    -Ramza Final Fantasy Tactics

  • EmilSndwnEmilSndwn Posts: 60Member
    No need to apologize! Thanks for trying
  • EmilSndwnEmilSndwn Posts: 60Member
    [b][red]This message was edited by EmilSndwn at 2003-1-20 20:27:12[/red][/b][hr]
    [b][red]This message was edited by EmilSndwn at 2003-1-20 20:26:37[/red][/b][hr]
    Well I came to 2 solutions for this problem... well.. they arent really solutions, but workarounds...

    1- Do the program in JAVA since they have audio stream classes that I think you can individually set the volume for.

    2- Use the windows media player activeX control during playback... it has a volume control, and when I tested the player on my system (running 2 of them at once) They did not alter each other nor the main WAV output volume, only the indivual files playing.

    It really is frustrating cause what I REALLY want is the way to do this in c++, (the way directX does it), but apparently its a big mystery that only the professional recording software company programmers know about hehehe




  • veliusvelius Posts: 456Member
    Well one other option would be for you to open the DirectSound headers and read through the code. Then you could learn what those functions are and possibly be able to find the documentation on them.
    [hr]
    When it came down to it I dropped everything and ran.
    -Ramza Final Fantasy Tactics

  • EmilSndwnEmilSndwn Posts: 60Member
    Yeah .. I didnt even think of that hehehe... good idea Im gonna have to check those out and see if they are at all understandable or not!
Sign In or Register to comment.