Dot.Blog

C#, XAML, WinUI, WPF, Android, MAUI, IoT, IA, ChatGPT, Prompt Engineering

Intégration de Fonctionnalités Audio dans une Application MAUI avec .NET

La gestion de l'audio dans les applications mobiles est une fonctionnalité souvent sous-estimée mais essentielle pour améliorer l'expérience utilisateur. Dans ce post, nous allons non seulement explorer comment intégrer des fonctionnalités audio de base dans une application MAUI, mais aussi comment utiliser des fonctionnalités avancées telles que l'enregistrement audio.

Prérequis et Configuration du Projet

Pour commencer, vous aurez besoin d'un environnement de développement configuré pour MAUI. Créez un nouveau projet MAUI et installez le package NuGet Plugin.Maui.Audio. Ce package a été élaboré par Gerald Versluis, Shaun Lawrence et d'autres contributeurs, et il offre une interface de programmation d'application (API) robuste pour la gestion de l'audio.

Gestion des Ressources Audio

Après avoir installé le package, ajoutez votre fichier audio dans le dossier Resources/Raw de votre projet. Si des lignes sont ajoutées automatiquement à votre fichier csproj, assurez-vous de les supprimer, car une configuration csproj existante gère déjà les actifs de ce dossier.

Utilisation de l'API AudioManager

Le package Plugin.Maui.Audio fournit une classe AudioManager qui permet de créer des lecteurs audio (AudioPlayers) et des enregistreurs audio (AudioRecorders). Cette classe peut être utilisée directement ou via l'injection de dépendances.

Injection de Dépendances

Pour utiliser l'injection de dépendances, vous devez d'abord enregistrer AudioManager avec le MauiAppBuilder comme suit :

builder.Services.AddSingleton(AudioManager.Current); 

Vous pouvez ensuite créer une classe qui dépend de IAudioManager :

public class AudioPlayerViewModel
{
    readonly IAudioManager audioManager;
    public AudioPlayerViewModel(IAudioManager audioManager)
    {
        this.audioManager = audioManager;
    }
    public async void PlayAudio()
    {
        var audioPlayer = audioManager.CreatePlayer(await FileSystem.OpenAppPackageFileAsync("BlackBetty.mp3"));
        audioPlayer.Play();
    }
}

Utilisation Directe

Si vous préférez ne pas utiliser l'injection de dépendances, vous pouvez accéder directement à AudioManager.Current :

public class AudioPlayerViewModel
{
    public async void PlayAudio()
    {
        var audioPlayer = AudioManager.Current.CreatePlayer(await FileSystem.OpenAppPackageFileAsync("LoupCeleste.mp3"));
        audioPlayer.Play();
    }
}

Fonctionnalités Avancées et Enregistrement Audio

Outre la lecture audio, le package offre également la possibilité d'enregistrer de l'audio, ce qui ouvre la porte à des fonctionnalités plus avancées dans votre application.

Remerciements et Ressources

Un grand merci à Gerald Versluis, Shaun Lawrence et tous les autres contributeurs pour leur excellent travail sur ce package. Pour plus d'informations, vous pouvez consulter la documentation complète sur GitHub.

Conclusion

L'intégration de fonctionnalités audio dans une application MAUI est désormais plus simple et plus puissante que jamais grâce au package Plugin.Maui.Audio. Que vous souhaitiez simplement lire un fichier audio ou implémenter des fonctionnalités d'enregistrement, ce package a tout ce qu'il vous faut.

N'hésitez pas à partager vos questions, commentaires ou retours d'expérience ci-dessous.

Stay Tuned !

Le Guide Complet de.NET MAUI ! Lien direct Amazon : https://amzn.eu/d/95wBULD

Près de 500 pages dédiées à l'univers .NET MAUI !

Existe aussi en version Kindle à prix réduit !

Faites des heureux, partagez l'article !
blog comments powered by Disqus