Differenze tra le versioni di "Rilevare se la scheda audio sta processando dati audio"
Da Gambas-it.org - Wikipedia.
Riga 1: | Riga 1: | ||
Per rilevare se una o più schede audio, e quali loro dispositivi, stanno eventualmente processando dati audio, è possibile utilizzare questo codice: | Per rilevare se una o più schede audio, e quali loro dispositivi, stanno eventualmente processando dati audio, è possibile utilizzare questo codice: | ||
'''Public''' Sub Main() | '''Public''' Sub Main() | ||
− | + | ||
− | |||
Dim ss As New String[] | Dim ss As New String[] | ||
− | Dim b, j As Byte | + | Dim b, c, j As Byte |
Dim s As String | Dim s As String | ||
<FONT color=gray>' ''Verifica innanzitutto quante schede audio sono rilevate dal sistema:''</font> | <FONT color=gray>' ''Verifica innanzitutto quante schede audio sono rilevate dal sistema:''</font> | ||
− | + | c = Dir("/proc/asound", "card*", gb.Directory).Count | |
− | Print "Il sistema ha rilevato num. " & | + | Print "Il sistema ha rilevato num. " & c & " Schede audio:" |
<FONT color=gray>' ''Quindi verifica quali dispositivi di quali schede audio stanno eventualmente processando segnali audio:''</font> | <FONT color=gray>' ''Quindi verifica quali dispositivi di quali schede audio stanno eventualmente processando segnali audio:''</font> | ||
Riga 28: | Riga 27: | ||
Endif | Endif | ||
Inc b | Inc b | ||
− | Until b > | + | Until b > c |
'''End''' | '''End''' |
Versione delle 17:52, 8 ago 2020
Per rilevare se una o più schede audio, e quali loro dispositivi, stanno eventualmente processando dati audio, è possibile utilizzare questo codice:
Public Sub Main() Dim ss As New String[] Dim b, c, j As Byte Dim s As String ' Verifica innanzitutto quante schede audio sono rilevate dal sistema: c = Dir("/proc/asound", "card*", gb.Directory).Count Print "Il sistema ha rilevato num. " & c & " Schede audio:" ' Quindi verifica quali dispositivi di quali schede audio stanno eventualmente processando segnali audio: ss = Split(File.Load("/proc/asound/cards"), Chr(10)) Repeat If InStr(ss[b], "]:") > 0 Then Print "\n\n"; ss[b] For Each s In Dir("/proc/asound/card" & CStr(j), "pcm*p", gb.Directory) Print " [Dispositivo ]: /card"; j; "/\e[1m"; s If InStr(File.Load("/proc/asound/card" & CStr(j) &/ s &/ "sub0/status"), "RUNNING") > 0 Then Print "\e[1m\e[32mQuesto dispositivo della scheda audio sta processando segnali audio !\e[0m" Else Print "\e[0m\e[31mQuesto dispositivo della scheda audio non sta processando alcun segnale audio.\e[0m" Endif Next Inc j Endif Inc b Until b > c End