Differenze tra le versioni di "Rilevare se la scheda audio sta processando dati audio"
Da Gambas-it.org - Wikipedia.
Riga 4: | Riga 4: | ||
Dim i As Integer | Dim i As Integer | ||
Dim ss As New String[] | Dim ss As New String[] | ||
− | Dim j As Byte | + | Dim b, j As Byte |
Dim s As String | Dim s As String | ||
Riga 14: | Riga 14: | ||
ss = Split(File.Load("/proc/asound/cards"), Chr(10)) | ss = Split(File.Load("/proc/asound/cards"), Chr(10)) | ||
− | + | Repeat | |
− | + | If InStr(ss[b], "]:") > 0 Then | |
− | + | Print "\n\n"; ss[b], "b="; b | |
− | + | For Each s In Dir("/proc/asound/card" & CStr(j), "pcm*p", gb.Directory) | |
− | + | Print "Device: /card"; j; "/"; s | |
− | + | If InStr(File.Load("/proc/asound/card" & CStr(j) &/ s &/ "sub0/status"), "RUNNING") > 0 Then | |
− | + | Print "\e[32mQuesto dispositivo della scheda audio sta processando segnali audio !\e[0m" | |
− | + | Else | |
− | + | Print "\e[31mQuesto dispositivo della scheda audio non sta processando alcun segnale audio.\e[0m" | |
− | Endif | + | Endif |
− | + | Next | |
− | + | Inc j | |
+ | Endif | ||
+ | Inc b | ||
+ | Until b == ss.Max | ||
'''End''' | '''End''' |
Versione delle 17:37, 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 i As Integer Dim ss As New String[] Dim b, j As Byte Dim s As String ' Verifica innanzitutto quante schede audio sono rilevate dal sistema: i = Dir("/proc/asound", "card*", gb.Directory).Count Print "Il sistema ha rilevato num. " & i & " 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], "b="; b For Each s In Dir("/proc/asound/card" & CStr(j), "pcm*p", gb.Directory) Print "Device: /card"; j; "/"; s If InStr(File.Load("/proc/asound/card" & CStr(j) &/ s &/ "sub0/status"), "RUNNING") > 0 Then Print "\e[32mQuesto dispositivo della scheda audio sta processando segnali audio !\e[0m" Else Print "\e[31mQuesto dispositivo della scheda audio non sta processando alcun segnale audio.\e[0m" Endif Next Inc j Endif Inc b Until b == ss.Max End