AmaDone RadioWeb

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
venom
Messages : 3137
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

On ne lit j'amais assez la doc
non ou bien on la lit mais on ne la comprendra jamais :lol: .

si non de rien :wink:


@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Message par MetalOS »

Je vient de retester cette source sous vista, est j'ais une erreur "invalid memory acces" sur l'avant dernière ligne de cette procedure. Quelqu'un peut me dir pourquoi car la je cherche mais je ne trouve pas et je comprend pas pourquoi. Merci.

Code : Tout sélectionner

Procedure.l MIXER_getVolume(Type.l) 
Protected dwVolume.l, result.l, hMixer 
Protected ml.MIXERLINE, mlc.MIXERLINECONTROLS,mc.MIXERCONTROL,mcd.MIXERCONTROLDETAILS,mcdu.MIXERCONTROLDETAILS_UNSIGNED 

  RtlZeroMemory_(ml,SizeOf(MIXERLINE)) 
  RtlZeroMemory_(mlc,SizeOf(MIXERLINECONTROLS)) 
  RtlZeroMemory_(mcd,SizeOf(MIXERCONTROLDETAILS)) 
  RtlZeroMemory_(mcdu,SizeOf(MIXERCONTROLDETAILS_UNSIGNED)) 
  
  result = mixerOpen_(@hMixer, 0, 0, 0, #MIXER_OBJECTF_HMIXER) 
  If result = #MMSYSERR_NOERROR 
    ml\cbStruct        = SizeOf(MIXERLINE) 
    ml\dwComponentType = Type 
    result = mixerGetLineInfo_(hMixer, @ml, #MIXER_GETLINEINFOF_COMPONENTTYPE) 
    If result = #MMSYSERR_NOERROR 
      mlc\cbStruct      = SizeOf(MIXERLINECONTROLS) 
      mlc\dwLineID      = ml\dwLineID 
      mlc\dwControlType = #MIXERCONTROL_CONTROLTYPE_VOLUME 
      mlc\cControls     = 1 
      mlc\pamxctrl      = @mc 
      mlc\cbmxctrl      = SizeOf(MIXERCONTROL) 
      result = mixerGetLineControls_(hMixer, @mlc, #MIXER_GETLINECONTROLSF_ONEBYTYPE) 
      If result = #MMSYSERR_NOERROR 
        mcd\cbStruct    = SizeOf(MIXERCONTROLDETAILS) 
        mcd\dwControlID = mc\dwControlID; 
        mcd\paDetails   = @mcdu 
        mcd\cbDetails   = SizeOf(MIXERCONTROLDETAILS_UNSIGNED) 
        mcd\cChannels   = 1 
        result = mixerGetControlDetails_(hMixer, @mcd, #MIXER_SETCONTROLDETAILSF_VALUE) 
        If result = #MMSYSERR_NOERROR 
          dwVolume = mcdu\dwValue 
        EndIf        
      EndIf 
    EndIf 
  EndIf 
  
  ProcedureReturn dwVolume 
EndProcedure 
KarLKoX
Messages : 1191
Inscription : jeu. 26/févr./2004 15:36
Localisation : France
Contact :

Message par KarLKoX »

La pile audio n'a plus rien à voir sous Vista, peut être la source du problème ?
Vu que je ne l'ai pas (ni le compte l'avoir), je pourrais pas adapter le code malheureusement :(
"Qui baise trop bouffe un poil." P. Desproges
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Message par MetalOS »

Merci quand même KarlKox, personne d'autre pour ce problème sur vista ??
Répondre