@tojestproste/caplab-audio-info
v1.0.1
Published
Capacitor plugin - odczyt stanu audio na Androidzie (głośność per-stream, tryb dzwonienia, podłączone urządzenia) bez uprawnień.
Maintainers
Readme
@tojestproste/caplab-audio-info
Capacitor plugin (Android) zwracający pełny stan audio: głośność dla 6 strumieni (music/ring/alarm/notification/system/voiceCall), tryb dzwonienia, stan mikrofonu i listę podłączonych urządzeń wyjściowych.
Część zestawu CapLab — narzędzi diagnostycznych dla Androida.
Instalacja
npm install @tojestproste/caplab-audio-info
npx cap syncUprawnienia
Brak. Wszystkie dane są odczytywane przez AudioManager bez żadnej deklaracji w AndroidManifest.xml.
Poza zakresem — DND (Do Not Disturb): poziom filtrowania trybu "Nie przeszkadzać" wymaga specjalnego dostępu (isNotificationPolicyAccessGranted, osobny ekran ustawień systemowych — nie zwykły runtime permission). Ten plugin świadomie tego nie obsługuje, żeby nie prosić o dodatkowy dostęp.
Użycie
import { AudioInfo } from '@tojestproste/caplab-audio-info';
const data = await AudioInfo.get();
console.log(data.volumes.music.percent); // np. 60
console.log(data.ringerMode.modeName); // "vibrate"
console.log(data.audioDevices.wiredHeadsetConnected); // falseAPI
get()
get() => Promise<AudioInfoResult>Zwraca pełny stan audio.
Returns: Promise<AudioInfoResult>
Interfaces
AudioInfoResult
| Prop | Type |
| -------------------- | -------------------------------------------------------------------------- |
| timestamp | number |
| volumes | AudioInfoVolumes |
| ringerMode | AudioInfoRingerMode |
| audioMode | AudioInfoAudioMode |
| isSpeakerphoneOn | boolean |
| audioDevices | AudioInfoDevices |
| flags | AudioInfoFlags |
Przykładowy response
Realny output (Poco X7 Pro, tryb wibracji):
{
"volumes": {
"music": { "current": 9, "max": 15, "percent": 60, "isMuted": false },
"ring": { "current": 0, "max": 7, "percent": 0, "isMuted": true },
"notification": { "current": 0, "max": 7, "percent": 0, "isMuted": true }
},
"ringerMode": { "modeCode": 1, "modeName": "vibrate" },
"audioMode": { "code": 0, "name": "normal" },
"audioDevices": {
"wiredHeadsetConnected": false,
"bluetoothA2dpOn": false,
"outputDevices": [
{ "type": "builtin_speaker", "isSink": true },
{ "type": "fm", "isSink": true }
]
}
}Ciekawostka: część urządzeń zwraca "fm" w outputDevices — to sprzętowy tuner radia FM, obecny na niektórych modelach.
Licencja
MIT
