Erste Schritte
-
Installieren Sie das Paket
Terminal-Fenster npm i @capgo/capacitor-muteTerminal-Fenster pnpm add @capgo/capacitor-muteTerminal-Fenster yarn add @capgo/capacitor-muteTerminal-Fenster bun add @capgo/capacitor-mute -
Mit nativen Projekten synchronisieren
Terminal-Fenster npx cap syncTerminal-Fenster pnpm cap syncTerminal-Fenster yarn cap syncTerminal-Fenster bunx cap sync
Verwendung
Section titled “Verwendung”Importieren Sie das Plugin und verwenden Sie seine Methoden, um den Stummschaltungsstatus zu überprüfen:
import { CapacitorMute } from '@capgo/capacitor-mute';
// Prüfen, ob Gerät stummgeschaltet istconst checkMuteState = async () => { const { value } = await CapacitorMute.isMuted();
if (value) { console.log('Gerät ist stummgeschaltet/lautlos'); // App-Verhalten für Lautlos-Modus anpassen } else { console.log('Geräteton ist eingeschaltet'); }};API-Referenz
Section titled “API-Referenz”isMuted()
Section titled “isMuted()”Prüft, ob das Gerät derzeit stummgeschaltet/im Lautlos-Modus ist.
const result = await CapacitorMute.isMuted();// Rückgabe: { value: boolean }Vollständiges Beispiel
Section titled “Vollständiges Beispiel”import { CapacitorMute } from '@capgo/capacitor-mute';
export class SoundManager { private isMuted = false;
async initialize() { // Anfänglichen Stummschaltungsstatus abrufen await this.checkMuteState(); }
async checkMuteState() { try { const { value } = await CapacitorMute.isMuted(); this.isMuted = value; this.updateAppBehavior(); } catch (error) { console.error('Fehler beim Prüfen des Stummschaltungsstatus:', error); } }
private updateAppBehavior() { if (this.isMuted) { // Gerät ist stummgeschaltet - App-Verhalten anpassen this.disableSoundEffects(); this.showVisualNotifications(); } else { // Geräteton ist eingeschaltet this.enableSoundEffects(); this.useAudioNotifications(); } }
private disableSoundEffects() { // In-App-Sounds deaktivieren console.log('Soundeffekte werden deaktiviert'); }
private enableSoundEffects() { // In-App-Sounds aktivieren console.log('Soundeffekte werden aktiviert'); }
private showVisualNotifications() { // Visuelles Feedback anstelle von Audio verwenden console.log('Visuelle Benachrichtigungen werden verwendet'); }
private useAudioNotifications() { // Audio-Benachrichtigungen verwenden console.log('Audio-Benachrichtigungen werden verwendet'); }}
// Verwendungconst soundManager = new SoundManager();await soundManager.initialize();
// Regelmäßig abfragen, um Änderungen zu überprüfensetInterval(() => { soundManager.checkMuteState();}, 5000); // Alle 5 Sekunden prüfenPlattformverhalten
Section titled “Plattformverhalten”- Erkennt den Status des physischen Stummschalters
- Keine Echtzeit-Änderungsereignisse (Abfrage erforderlich)
- Funktioniert auf iPhone und iPad mit Stummschalter
Android
Section titled “Android”- Prüft, ob der Klingeltonmodus auf lautlos oder vibrieren eingestellt ist
- Keine Änderungsereignisse (Abfrage erforderlich)
- Basierend auf AudioManager-Klingeltonmodus
Best Practices
Section titled “Best Practices”-
Auf Änderungen abfragen Da das Plugin keine Echtzeit-Ereignisse bereitstellt, fragen Sie regelmäßig ab, wenn Sie Änderungen verfolgen müssen:
// Stummschaltungsstatus regelmäßig prüfensetInterval(async () => {const { value } = await CapacitorMute.isMuted();if (value !== previousMuteState) {handleMuteStateChange(value);}}, 5000); -
Benutzerpräferenzen respektieren Respektieren Sie immer den Stummschaltungsstatus und passen Sie das Audio-Verhalten Ihrer App entsprechend an.
-
Visuelle Alternativen bereitstellen
const { value: isMuted } = await CapacitorMute.isMuted();if (isMuted) {// Visuelle Benachrichtigungen anzeigenshowToast('Neue Nachricht empfangen');} else {// Tonbenachrichtigung abspielenplayNotificationSound();}
Anwendungsfälle
Section titled “Anwendungsfälle”-
Spiel-Sound-Management
const shouldPlaySound = async () => {const { value: isMuted } = await CapacitorMute.isMuted();return !isMuted && userPreferences.soundEnabled;}; -
Benachrichtigungsbehandlung
const sendNotification = async (message: string) => {const { value: isMuted } = await CapacitorMute.isMuted();if (isMuted) {// Vibration oder visuelle Benachrichtigung verwendenawait Haptics.vibrate();showBanner(message);} else {// Benachrichtigungston abspielenawait playSound('notification.mp3');}}; -
Videoplayer
const initVideoPlayer = async () => {const { value: isMuted } = await CapacitorMute.isMuted();videoPlayer.setMuted(isMuted);if (isMuted) {showSubtitles(true);showMuteIndicator();}};
Fehlerbehebung
Section titled “Fehlerbehebung”-
Gibt auf Android immer false zurück
- Prüfen Sie, ob der Geräteklingeltonmodus tatsächlich auf lautlos eingestellt ist
- Einige Android-Geräte können unterschiedliches Verhalten aufweisen
-
Keine Änderungsereignisse verfügbar
- Das Plugin bietet keine Echtzeit-Änderungsereignisse
- Implementieren Sie Abfragen, wenn Sie Änderungen erkennen müssen
-
Funktioniert nicht im Simulator
- iOS-Simulator hat keinen Stummschalter
- Testen Sie auf echten Geräten für genaue Ergebnisse