Jump to content

Recommended Posts

Posted (edited)

Hey,

im writing a small soundtool für a company im working in. its a online karaoke platform and the tool is designed to help the people to get their soundsettings right.

I am using the Example scripts wirebits wrote. They can be found here:

http://www.autoitscript.com/forum/index.ph...aded&start=

Im not new to AutoIt but im new to DllCalls and WindowsAPI. I tried to figure some things out for 4 days now but i just don´t get it...

There is one thing i just can´t get to work:

I need a Slider (GUICtrlCreateSlider) für the Microphone INPUT (not the output!)

i know this line(MXVolume.au3):

CODE
If $doset Then $ret = DllCall("winmm.dll", "long", "mixerSetControlDetails", "hwnd", $hmxobj, "ptr", DllStructGetPtr($mxcd), "long", BitOR($MIXER_OBJECTF_HMIXER, $MIXER_SETCONTROLDETAILSF_VALUE))

sets the windows slider and i can change what slider to manipulat, but i cant jump from Output to input.

if anyone is acquainted with this....pleeeeeeeease...... :):)

there is just wayyyy to less description in the example.

Edited by Kademlia
Posted (edited)

I was working on something like this, to make myself a simple volume mixer control for my 2 soundcards, and mic recording was one of the things, but I put it aside for awhile to work with other projects. I should be getting back to it someday soon. But until that...

You said you'd been working on this for 4 days. So what exactly have you tried? Show us some code.

Anyway, the way I see it, if you're working with scripts from the topic you linked, have you tried to do like this:

Get mic line ID like with this function:

GetMXWaveoutID($mixers,$curmixer,$MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT)

Just instead of MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT you obviously need MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE

Once you have mic source line ID, try getting/setting volume like with this function:

GetSetOutVolume

Edited by Siao

"be smart, drink your wine"

Posted (edited)

thanks for your post!

but thats one of my problems...

$MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE returns the OUTPUT microphone :-/

What i did is trying to understand what wirebits wrote...

I spent the 4 days by writing

for $i = 0 to 16

ConsoleWrite(X)

next

for nearly every line... just dont get it...

MikestarGUI.au3

Mikestar.au3

Edited by Kademlia
Posted

I found his code to be hard to read and understand too (any code that (over)uses arrays without thoroughly documenting them is), I'll give you that. I also thought his functions weren't as generic as I'd like them to be for my needs, therefore I decided to write my own wrappers for these API calls. And in this task I found the links he posted very useful. That tutorial page describes the process very nicely. Have you read that?

"be smart, drink your wine"

Posted

No i did not read it, i just used it as "helpfile". but as i am am not into c/c++ it din´t give me much to read. Just staret java 6month ago...

but jeah...

MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE Microphone input (but also used for a combination of Mic/Line input if there isn't a separate line input source).

Dunno why this is Output for me...thats why i startet looking for some other values in his arrays - to maybe find a adressingvalue that had changed or something

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...