funzione midiOutSetVolume (mmeapi.h)

La funzione midiOutSetVolume imposta il volume di un dispositivo di output MIDI.

Sintassi

MMRESULT midiOutSetVolume(
  HMIDIOUT hmo,
  DWORD    dwVolume
);

Parametri

hmo

Gestire un dispositivo di output MIDI aperto. Questo parametro può anche contenere l'handle di un flusso MIDI, purché venga eseguito il cast in HMIDIOUT. Questo parametro può anche essere un identificatore del dispositivo.

dwVolume

Nuova impostazione del volume. La parola a basso ordine contiene l'impostazione del volume a sinistra e la parola con ordine elevato contiene l'impostazione del canale destro. Un valore di 0xFFFF rappresenta il volume completo e un valore di 0x0000 è silenzio.

Se un dispositivo non supporta sia il controllo volume sinistro che destro, la parola a basso ordine di dwVolume specifica il livello di volume mono e la parola di ordine elevato viene ignorata.

Valore restituito

Restituisce MMSYSERR_NOERROR se ha esito positivo o un errore in caso contrario. I valori di errore possibili includono quanto segue.

Codice restituito Descrizione
MMSYSERR_INVALHANDLE
L'handle del dispositivo specificato non è valido.
MMSYSERR_NOMEM
Il sistema non è in grado di allocare o bloccare la memoria.
MMSYSERR_NOTSUPPORTED
La funzione non è supportata.

Commenti

Se viene usato un identificatore di dispositivo, il risultato della chiamata midiOutSetVolume si applica a tutte le istanze del dispositivo. Se viene usato un handle di dispositivo, il risultato si applica solo all'istanza del dispositivo a cui fa riferimento l'handle del dispositivo.

Non tutti i dispositivi supportano le modifiche al volume. È possibile determinare se un dispositivo lo supporta eseguendo una query sul dispositivo usando la funzione midiOutGetDevCaps e il flag di MIDICAPS_VOLUME.

È anche possibile determinare se il dispositivo supporta il controllo del volume sui canali sinistro e destro eseguendo una query sul dispositivo usando la funzione midiOutGetDevCaps e il flag di MIDICAPS_LRVOLUME.

I dispositivi che non supportano un controllo completo a 16 bit di volume usano i bit elevati dell'impostazione del volume richiesto. Ad esempio, un dispositivo che supporta 4 bit di controllo volume produce la stessa impostazione del volume per i valori di volume seguenti: 0x4000, 0x43be e 0x4fff. La funzione midiOutGetVolume restituisce il valore completo a 16 bit, impostato da midiOutSetVolume, indipendentemente dalle funzionalità del dispositivo.

Le impostazioni del volume vengono interpretate in modo logaritmico. Ciò significa che l'aumento percepito del volume è lo stesso quando si aumenta il livello di volume da 0x5000 a 0x6000 così come è da 0x4000 a 0x5000.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione mmeapi.h (includere Windows.h)
Libreria Winmm.lib
DLL Winmm.dll

Vedi anche

Funzioni MIDI