#!/bin/bash # Verificar que jq esté instalado if ! command -v jq &> /dev/null then echo "El comando jq no está instalado. Por favor, instálalo e intenta nuevamente." exit 1 fi # Función para extraer las tasas de muestreo de los sinks de audio extraer_tasas() { echo "$1" | jq -r ' .[] | select(.info.props."media.class" == "Audio/Sink") | .info.params.Format[].rate' | sort -u } # Obtener las tasas iniciales json_inicial=$(pw-dump) tasas_previas=$(extraer_tasas "$json_inicial") echo "Tasa(s) inicial(es): $tasas_previas" # Suscribirse a los eventos en tiempo real con pw-dump -m pw-dump -m | while read -r linea; do # Verificar si la línea contiene un objeto JSON completo if [[ "$linea" =~ ^\{.*\}$ ]]; then tasas_actuales=$(extraer_tasas "$linea") # Comparar con las tasas previas if [[ "$tasas_actuales" != "$tasas_previas" ]]; then echo "¡Cambio detectado en la tasa de muestreo!" echo "Tasa anterior(s): $tasas_previas" echo "Nueva tasa(s): $tasas_actuales" # Actualizar las tasas previas tasas_previas="$tasas_actuales" fi fi done