Commencer
-
Installer le package
Fenêtre de terminal npm i @capgo/capacitor-muteFenêtre de terminal pnpm add @capgo/capacitor-muteFenêtre de terminal yarn add @capgo/capacitor-muteFenêtre de terminal bun add @capgo/capacitor-mute -
Synchroniser avec les projets natifs
Fenêtre de terminal npx cap syncFenêtre de terminal pnpm cap syncFenêtre de terminal yarn cap syncFenêtre de terminal bunx cap sync
Utilisation
Section titled “Utilisation”Importez le plugin et utilisez ses méthodes pour vérifier l’état muet :
import { CapacitorMute } from '@capgo/capacitor-mute';
// Vérifier si l'appareil est en sourdineconst checkMuteState = async () => { const { value } = await CapacitorMute.isMuted();
if (value) { console.log('L\'appareil est en sourdine/silencieux'); // Ajuster le comportement de l'application pour le mode silencieux } else { console.log('Le son de l\'appareil est activé'); }};Référence API
Section titled “Référence API”isMuted()
Section titled “isMuted()”Vérifie si l’appareil est actuellement en sourdine/en mode silencieux.
const result = await CapacitorMute.isMuted();// Renvoie : { value: boolean }Exemple complet
Section titled “Exemple complet”import { CapacitorMute } from '@capgo/capacitor-mute';
export class SoundManager { private isMuted = false;
async initialize() { // Obtenir l'état muet initial await this.checkMuteState(); }
async checkMuteState() { try { const { value } = await CapacitorMute.isMuted(); this.isMuted = value; this.updateAppBehavior(); } catch (error) { console.error('Échec de la vérification de l\'état muet :', error); } }
private updateAppBehavior() { if (this.isMuted) { // L'appareil est en sourdine - ajuster le comportement de l'application this.disableSoundEffects(); this.showVisualNotifications(); } else { // Le son de l'appareil est activé this.enableSoundEffects(); this.useAudioNotifications(); } }
private disableSoundEffects() { // Désactiver les sons de l'application console.log('Désactivation des effets sonores'); }
private enableSoundEffects() { // Activer les sons de l'application console.log('Activation des effets sonores'); }
private showVisualNotifications() { // Utiliser des retours visuels au lieu de l'audio console.log('Utilisation des notifications visuelles'); }
private useAudioNotifications() { // Utiliser des notifications audio console.log('Utilisation des notifications audio'); }}
// Utilisationconst soundManager = new SoundManager();await soundManager.initialize();
// Interroger périodiquement pour vérifier les changementssetInterval(() => { soundManager.checkMuteState();}, 5000); // Vérifier toutes les 5 secondesComportement de la plateforme
Section titled “Comportement de la plateforme”- Détecte l’état du commutateur de sourdine physique
- Pas d’événements de changement en temps réel (interrogation requise)
- Fonctionne sur iPhone et iPad avec commutateur de sourdine
Android
Section titled “Android”- Vérifie si le mode sonnerie est défini sur silencieux ou vibreur
- Pas d’événements de changement (interrogation requise)
- Basé sur le mode sonnerie d’AudioManager
Bonnes pratiques
Section titled “Bonnes pratiques”-
Interroger pour les changements Étant donné que le plugin ne fournit pas d’événements en temps réel, interrogez périodiquement si vous devez suivre les changements :
// Vérifier l'état muet périodiquementsetInterval(async () => {const { value } = await CapacitorMute.isMuted();if (value !== previousMuteState) {handleMuteStateChange(value);}}, 5000); -
Respecter les préférences de l’utilisateur Honorez toujours l’état muet et ajustez le comportement audio de votre application en conséquence.
-
Fournir des alternatives visuelles
const { value: isMuted } = await CapacitorMute.isMuted();if (isMuted) {// Afficher des notifications visuellesshowToast('Nouveau message reçu');} else {// Jouer une notification sonoreplayNotificationSound();}
Cas d’utilisation
Section titled “Cas d’utilisation”-
Gestion du son des jeux
const shouldPlaySound = async () => {const { value: isMuted } = await CapacitorMute.isMuted();return !isMuted && userPreferences.soundEnabled;}; -
Gestion des notifications
const sendNotification = async (message: string) => {const { value: isMuted } = await CapacitorMute.isMuted();if (isMuted) {// Utiliser la vibration ou une notification visuelleawait Haptics.vibrate();showBanner(message);} else {// Jouer un son de notificationawait playSound('notification.mp3');}}; -
Lecteur vidéo
const initVideoPlayer = async () => {const { value: isMuted } = await CapacitorMute.isMuted();videoPlayer.setMuted(isMuted);if (isMuted) {showSubtitles(true);showMuteIndicator();}};
Dépannage
Section titled “Dépannage”-
Renvoie toujours false sur Android
- Vérifiez si le mode sonnerie de l’appareil est réellement défini sur silencieux
- Certains appareils Android peuvent avoir un comportement différent
-
Aucun événement de changement disponible
- Le plugin ne fournit pas d’événements de changement en temps réel
- Implémentez l’interrogation si vous devez détecter les changements
-
Ne fonctionne pas sur le simulateur
- Le simulateur iOS n’a pas de commutateur de sourdine
- Testez sur de vrais appareils pour des résultats précis