Indirizzare l'uscita o l'entrata audio mediante il componente gb.media
L'individuazione del dispositivo audio consente di indirizzare in modo specifico la sorgente audio in entrata o dei dati audio in uscita.
In particolare sarà necessario definire:
- il numero identificativo della scheda audio;
- il numero identificativo del dispositivo audio;
- il numero identificativo del sub-dispositivo audio.
Questi tre valori possono essere individuati agevolmente nei file contenuti nel percorso "/proc/asound/ " e sono passati alla risorsa audio, utilizzata, mediante una stringa, che premette il simbolo "hw", come nell'esempio seguente:
"hw:0,1,0"
Questa operazione di indirizzamento specifico è possibile anche con le risorse del componente gb.media di Gambas.
In generale per identificare il dispositivo audio, al quale dirigere l'audio in uscita, è necessario usare la Proprietà ".Audio.Output " della Classe "MediaPlayer " o della Classe "Pipeline ", assegnando contestualmente ad essa il plugin di GStreaer - ad esempio - "alsasink " mediante la Classe "MediaControl " e specificando il dispositivo audio, con la stringa dei valori come sopra descritto.
Mostriamo un semplice esempio, nel quale indirizzeremo l'uscita dei dati audio al dispositivo audio mostrato nell'esempio precedente:
Public Sub Main() Dim mp As MediaPlayer With mp = New MediaPlayer .URL = Media.URL("/percorso/del/file/audio") .Audio.Output = New MediaControl(mp, "alsasink") ' Specifica il dispositivo audio, al quale indirizzare i dati audio: .Audio.Output["device"] = "hw:0,1,0" .Play End With Repeat ' Consente a "MediaPlayer" di ritornare il corretto valore della durata del file audio Wait 0.01 Until mp.Duration > 0.0 Wait mp.Duration mp.Close End
Per l'indirizzamento dei dati in Entrata la logica è analoga, ma si farà uso della Proprietà ".Audio.Input ".