d908cf4ee6
Avant : Utilisait sox (IDs numériques, incomplet) Après : Utilise CoreAudioBackend.getDevices() (noms devices réels) - Retourne device.name comme ID (compatible inputDeviceName) - Affiche channels, sampleRate, isDefault - Fallback sur built-in devices si erreur - Cohérent avec résolution AudioBridge (ligne 206-216) Interface /admin maintenant 100% compatible macOS et Linux.