Search  
Thursday, May 24, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Win32 API  WinAPI: mixerGe...
 WinAPI: mixerGetControlDetails in winmm.dll
 
 3/16/2006 2:44:10 PM
User is offlinemark
1 posts


WinAPI: mixerGetControlDetails in winmm.dll
 (Romania)

Incerc sa folosesc functia mixerGetControlDetails din winmm.dll.

Nu ma prea descurc cu definirea functiei si apelarea ei. :(

Cum o pot folosi? Am gasit ceva pe news2news dar nu ma descurc (nu stiu sa definesc pointerul la structura MIXERCONTROLDETAILS si sa-l citesc mai departe). Un exemplu de utilizare ar fi binevenit.

Vreau sa afisez la redarea unui fisier audio nivelul semnalului (vu-metru).

multumesc,

mark

 

 

 3/16/2006 9:23:10 PM
User is offlineDaniel Buduru
2333 posts
1st




Re: WinAPI: mixerGetControlDetails in winmm.dll
 (N/A)

In vfp, o structura este un string, in care sunt concatenate valorile binare ale elementelor structurii.
Transmiterea unui pointer catre o structura inseamna in vfp transmiterea sirului prin referinta.

DECLARE INTEGER mixerSetControlDetails IN winmm;
    INTEGER  hmxobj,;
    STRING @ pmxcd,;
    INTEGER  fdwDetails

In aceasta functie, hmxobj este un parametru transmis prin valoare, pmxcd este transmis prin referinta (@ dinaintea lui asta inseamna, transmitere prin referinta). Transmiterea prin referinta inseamna ca se transmite adresa (pointerul) sirului (structurii).

Iti mai trebuie structura lui  lp
MIXERCONTROLDETAILS

Aceasta este definita aici: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_mixercontroldetails_str.asp

si mai gasesti ceva si aici:  http://www.codeproject.com/audio/mixerSetControlDetails.asp

typedef struct {
    DWORD cbStruct;
    DWORD dwControlID;
    DWORD cChannels;
    union {
        HWND  hwndOwner;
        DWORD cMultipleItems;
    };
    DWORD  cbDetails;
    LPVOID paDetails;
} MIXERCONTROLDETAILS;

ca sa obtii structura, vei folosi functia num2dword (de pe site news2news.com):

FUNCTION num2dword(nValue)
#DEFINE m0  0x0100
#DEFINE m1  0x010000
#DEFINE m2  0x01000000
    IF nValue < 0
        nValue = 0x100000000 + nValue
    ENDIF
    LOCAL b0, b1, b2, b3
    b3 = Int(nValue/m2)
    b2 = Int((nValue - b3*m2)/m1)
    b1 = Int((nValue - b3*m2 - b2*m1)/m0)
    b0 = Mod(nValue, m0)
RETURN Chr(b0)+Chr(b1)+Chr(b2)+Chr(b3)

In VFP, structura ta va arata cam asa:
pmxcd=num2dword(dwControlID)+num2dword(cChanels)+num2dword(hwndOwner)+num2dword(cMultipleItems)+num2dword(cbDetails)+....

pmxcd=num2dword(len(pmscd))+pmxcd

Ti-am dat doar un punct de plecare. Inteleg ca este un hobby, asa ca rezolva problema mai departe singur, altfel nu mai are farmec :). Cauta exemple pentru VB, sunt usor de portat in cod VFP.


Daniel Buduru
 3/10/2011 7:09:05 PM
User is offlineNache
1 posts


Re: WinAPI: mixerGetControlDetails in winmm.dll
 (N/A)
Stiu ca e un post foarte vechi si ca ofera deja un punct de plecare dar nu reusesc nicicum sa schimb volumul microfonului. Are cineva un exemplu functional al functie mixerSetControlDetails?
  Visual FoxPro  Win32 API  WinAPI: mixerGe...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement