Rilevare se la scheda audio sta processando dati audio
Da Gambas-it.org - Wikipedia.
Versione del 31 ago 2020 alle 15:09 di Vuott (Discussione | contributi)
Per rilevare se una o più schede audio, e quali loro dispositivi, stanno eventualmente processando dati audio, è possibile utilizzare questo codice:
Private Const ASOUND As String = "/proc/asound" Public Sub Main() Dim c As Byte Dim ss As New String[] Dim ca, pc, su As String ' Verifica innanzitutto quante schede audio sono rilevate dal sistema: Print "Il sistema ha rilevato num. " & Dir(ASOUND, "card*", gb.Directory).Count & " Schede audio:" ss = Split(File.Load(ASOUND &/ "cards"), gb.NewLine) Repeat If InStr(ss[c], "]:") == 0 Then ss.Remove(c, 1) Else Inc c Endif Until c == ss.Count ' Individua il dispositivo della scheda audio che sta eventualmente processando segnali audio: For c = 0 To ss.Max Print "\n\n"; ss[c] For Each ca In Dir(ASOUND, "card*", gb.Directory) For Each pc In Dir(ASOUND &/ ca, "pcm*p", gb.Directory) Print " [Dispositivo ]: " &/ ca &/ "\e[1m"; pc For Each su In Dir(ASOUND &/ ca &/ pc, "sub*", gb.Directory) If InStr(File.Load(ASOUND &/ ca &/ pc &/ su &/ "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 Next End