14.11.2 Oggetti dispositivo Mixer

L'oggetto mixer fornisce due metodi simile a file:

close( )
Questo metodo chiude il file del dispositivo mixer aperto. Ogni altro tentativo di usare il mixer dopo che questo file Ŕ stato chiuso solleverÓ un'eccezione IOError.

fileno( )
Restituisce il numero della gestione del file del dispositivo mixer aperto.

I restanti metodi sono specifici per il mixing audio:

controls( )
Questo metodo restituisce una maschera di bit che specifica i controlli mixer disponibili (``Control'' diventa uno specifico ``channel'' mixabile, come SOUND_MIXER_PCM o SOUND_MIXER_SYNTH). Questa maschera di bit indica un sotto insieme di tutti i controlli mixer disponibili--le costanti SOUND_MIXER_* definite a livello di modulo. Per determinarle, per esempio, l'oggetto mixer corrente che supporta un mixer PCM, userÓ il seguente codice Python:

mixer=ossaudiodev.openmixer()
if mixer.controls() & (1 << ossaudiodev.SOUND_MIXER_PCM):
    # PCM viene supportato
    ... code ...

Per molti scopi, i canali SOUND_MIXER_VOLUME (volume master) ed i controlli SOUND_MIXER_PCM dovrebbero bastare; ma il codice che usa il mixer dovrebbe essere flessibile quando inizia a scegliere i controlli del mixer. Sulla Gravis Ultrasound per esempio SOUND_MIXER_VOLUME non esiste.

stereocontrols( )
Restituisce una maschera di bit che rappresenta i controlli stereo del mixer. Se un bit viene impostato ad 1, il corrispondente controllo Ŕ stereo; se non viene impostato significa che Ŕ un controllo mono o non viene supportato dal mixer (lo si usi in combinazione con controls() per determinare qual'Ŕ il valore impostato).

Vedere il codice di esempio della funzione controls() per un esempio di lettura da una maschera di bit.

reccontrols( )
Restituisce una maschera di bit che specifica i controlli del mixer che potrebbero essere usati per registrare. Vedere il codice di esempio per controls() per un esempio di lettura da una maschera di bit.

get( control)
Restituisce il volume del controllo mixer fornito. Il volume restituito Ŕ una tupla di due elementi (left_volume,right_volume). I volumi vengono specificati come numeri da 0 (silenzioso) a 100 (volume pieno). Se il controllo Ŕ mono, viene sempre restituita una tupla di due elementi, ma entrambi i volumi sono uguali.

Solleva un'eccezione OSSAudioError se un controllo non valido viene specificato, o IOError se viene specificato un controllo non supportato.

set( control, (left, right))
Imposta il volume per i controlli del mixer forniti a (left,right). left e right devono essere interi e tra 0 (silenzioso) e 100 (volume pieno). Se l'operazione ha successo, il nuovo volume viene restituito come una tupla di due elementi. Notare che questo potrebbe non essere esattamente come il volume specificato, per colpa della limitata risoluzione di alcuni mixer di schede audio.

Solleva l'eccezione OSSAudioError se viene specificato un controllo mixer non valido, o se i volumi specificati sono fuori dall'intervallo.

get_recsrc( )
Questo metodo restituisce una maschera di bit che rappresenta quale controllo/i vengono correntemente inizializzati per essere usati come fonte di registrazione.

set_recsrc( bitmask)
Viene chiamata questa funzione per specificare una fonte di registrazione. Restituisce una maschera di bit che rappresenta la nuova fonte (o fonti) di registrazione se l'operazione ha successo; solleva un'eccezione IOError se viene specificata una sorgente non valida. Per impostare la corrente fonte di registrazione all'input del microfono:

mixer.setrecsrc (1 << ossaudiodev.SOUND_MIXER_MIC)

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.