Differenze tra le versioni di "Rilevare se la scheda audio sta processando dati audio"
Da Gambas-it.org - Wikipedia.
Riga 4: | Riga 4: | ||
Dim ss As New String[] | Dim ss As New String[] | ||
Dim b, c, j As Byte | Dim b, c, j As Byte | ||
− | Dim s As String | + | Dim s, u 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> | ||
Riga 18: | Riga 18: | ||
For Each s In Dir("/proc/asound/card" & CStr(j), "pcm*p", gb.Directory) | For Each s In Dir("/proc/asound/card" & CStr(j), "pcm*p", gb.Directory) | ||
Print " [Dispositivo ]: /card"; j; "/\e[1m"; s | Print " [Dispositivo ]: /card"; j; "/\e[1m"; s | ||
− | If InStr(File.Load("/proc/asound/card" & CStr(j) &/ s &/ " | + | For Each u In Dir("/proc/asound/card" & CStr(j) &/ s, "sub*", gb.Directory) |
− | + | If InStr(File.Load("/proc/asound/card" & CStr(j) &/ s &/ u &/ "status"), "RUNNING") > 0 Then | |
− | + | Print "\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 | ||
Next | Next | ||
Inc j | Inc j |
Versione delle 11:07, 9 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, u 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:" ss = Split(File.Load("/proc/asound/cards"), Chr(10)) ' Quindi verifica il dispositivo della scheda audio che sta eventualmente processando segnali audio: 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 For Each u In Dir("/proc/asound/card" & CStr(j) &/ s, "sub*", gb.Directory) If InStr(File.Load("/proc/asound/card" & CStr(j) &/ s &/ u &/ "status"), "RUNNING") > 0 Then Print "\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 Next Inc j Endif Inc b Until b > c End