15/11/2025, 09:31:06
(Modification du message : 15/11/2025, 09:32:24 par Smart Guido 73.)
Bonjour,
j’ai étendu la version 3.1. Elle est indépendante de la version 4.0, car cette dernière ne prend pas correctement en charge le support COM en raison de la fonction Spotify. J’ai également ajouté plusieurs fonctions audio, implémenté la lecture de la clé API Huia et ajouté une fonction facilitant l’intégration d’une page HTML pour différents cas d’utilisation.
Voici les nouvelles fonctions :
Play(filePath: System.String)
Description :
Cette méthode lit un fichier audio local.
Pause()
Description :
Cette méthode met en pause la lecture audio en cours.
Resume()
Description :
Cette méthode reprend une lecture audio précédemment mise en pause.
Stop()
Description :
Cette méthode arrête la lecture audio et libère les ressources utilisées.
SetVolume(newVolume: System.Single)
Description :
Cette méthode règle le volume de la lecture audio (valeur entre 0.0 et 1.0).
FadeIn(durationSeconds: System.Single = 2.0)
Description :
Cette méthode augmente progressivement le volume audio sur la durée spécifiée.
FadeOut(durationSeconds: System.Single = 2.0)
Description :
Cette méthode réduit progressivement le volume audio puis arrête automatiquement la lecture.
Crossfade(nextFilePath: System.String, fadeDurationSeconds: System.Single = 3.0)
Description :
Cette méthode effectue une transition douce entre l’audio en cours et un nouveau fichier audio.
PlayStream(url: System.String)
Description :
Cette méthode lit un flux audio provenant d’une URL (par exemple, une webradio).
SendHttpTele(url: System.String)
Description :
Cette méthode envoie une requête HTTP GET à une URL et retourne la réponse du serveur de manière asynchrone.
SendHttpCommandAsync(url: System.String)
Description :
Cette méthode exécute une requête HTTP de manière asynchrone et retourne le résultat sous forme de texte.
LoadConfig(jsonPath: System.String)
Description :
Cette méthode charge un fichier de configuration JSON et renvoie un objet "DeviceConfig".
SaveConfig(config: DeviceConfig, jsonPath: System.String)
Description :
Cette méthode enregistre un objet "DeviceConfig" sous forme de fichier JSON.
StartFluentScheduler(url: System.String, intervalMinutes: System.Int32 = 1)
Description :
Cette méthode démarre un minuteur récurrent qui exécute régulièrement des requêtes HTTP.
StartQuartzSchedulerAsync(url: System.String, triggerTime: System.String)
Description :
Cette méthode configure une tâche quotidienne exécutée à une heure définie pour envoyer une requête HTTP.
StopQuartzSchedulerAsync()
Description :
Cette méthode arrête le scheduler Quartz en cours et annule toutes les tâches planifiées.
StartQuartzActionAtTimeAsync(action: System.Action, hour: System.Int32, minute: System.Int32)
Description :
Cette méthode planifie une action exécutée chaque jour à l’heure spécifiée.
StartQuartzActionIntervalAsync(action: System.Action, intervalSeconds: System.Int32)
Description :
Cette méthode planifie une action exécutée de manière répétée à un intervalle fixe.
GetHueApiBridgeKey(bridgeIp: System.String)
Description :
Cette méthode demande la clé API à une passerelle Philips Hue et la retourne.
WebGuiServer(iport: System.Int32, ihtmlContent: System.String)
Description :
Cette méthode initialise le serveur WebGUI avec un port et un contenu HTML.
RegisterMethod(methodName: System.String, method: Action<System.String>)
Description :
Cette méthode enregistre une fonction pouvant être appelée via l’interface WebGUI.
StartWebGuiServer()
Description :
Cette méthode démarre le serveur WebGUI HTTP dans un thread séparé et retourne l’URL du serveur.
StopWebGuiServer()
Description :
Cette méthode arrête le serveur WebGUI et met fin au thread d’écoute.
Dispose()
Description :
Cette méthode arrête la lecture audio et libère toutes les ressources réservées.
DownloadLink:
KNXlib3.8
Dans le paquet de téléchargement, vous trouverez également un exemple en PHP, en Perl, ainsi qu’un exemple C# utilisant déjà les nouvelles fonctionnalités.
Remarque : L’exemple C# doit être exécuté en tant qu’administrateur, faute de quoi certains ports ne peuvent pas être ouverts ou utilisés (ou doivent être autorisés manuellement au préalable).
j’ai étendu la version 3.1. Elle est indépendante de la version 4.0, car cette dernière ne prend pas correctement en charge le support COM en raison de la fonction Spotify. J’ai également ajouté plusieurs fonctions audio, implémenté la lecture de la clé API Huia et ajouté une fonction facilitant l’intégration d’une page HTML pour différents cas d’utilisation.
Voici les nouvelles fonctions :
Play(filePath: System.String)
Description :
Cette méthode lit un fichier audio local.
Pause()
Description :
Cette méthode met en pause la lecture audio en cours.
Resume()
Description :
Cette méthode reprend une lecture audio précédemment mise en pause.
Stop()
Description :
Cette méthode arrête la lecture audio et libère les ressources utilisées.
SetVolume(newVolume: System.Single)
Description :
Cette méthode règle le volume de la lecture audio (valeur entre 0.0 et 1.0).
FadeIn(durationSeconds: System.Single = 2.0)
Description :
Cette méthode augmente progressivement le volume audio sur la durée spécifiée.
FadeOut(durationSeconds: System.Single = 2.0)
Description :
Cette méthode réduit progressivement le volume audio puis arrête automatiquement la lecture.
Crossfade(nextFilePath: System.String, fadeDurationSeconds: System.Single = 3.0)
Description :
Cette méthode effectue une transition douce entre l’audio en cours et un nouveau fichier audio.
PlayStream(url: System.String)
Description :
Cette méthode lit un flux audio provenant d’une URL (par exemple, une webradio).
SendHttpTele(url: System.String)
Description :
Cette méthode envoie une requête HTTP GET à une URL et retourne la réponse du serveur de manière asynchrone.
SendHttpCommandAsync(url: System.String)
Description :
Cette méthode exécute une requête HTTP de manière asynchrone et retourne le résultat sous forme de texte.
LoadConfig(jsonPath: System.String)
Description :
Cette méthode charge un fichier de configuration JSON et renvoie un objet "DeviceConfig".
SaveConfig(config: DeviceConfig, jsonPath: System.String)
Description :
Cette méthode enregistre un objet "DeviceConfig" sous forme de fichier JSON.
StartFluentScheduler(url: System.String, intervalMinutes: System.Int32 = 1)
Description :
Cette méthode démarre un minuteur récurrent qui exécute régulièrement des requêtes HTTP.
StartQuartzSchedulerAsync(url: System.String, triggerTime: System.String)
Description :
Cette méthode configure une tâche quotidienne exécutée à une heure définie pour envoyer une requête HTTP.
StopQuartzSchedulerAsync()
Description :
Cette méthode arrête le scheduler Quartz en cours et annule toutes les tâches planifiées.
StartQuartzActionAtTimeAsync(action: System.Action, hour: System.Int32, minute: System.Int32)
Description :
Cette méthode planifie une action exécutée chaque jour à l’heure spécifiée.
StartQuartzActionIntervalAsync(action: System.Action, intervalSeconds: System.Int32)
Description :
Cette méthode planifie une action exécutée de manière répétée à un intervalle fixe.
GetHueApiBridgeKey(bridgeIp: System.String)
Description :
Cette méthode demande la clé API à une passerelle Philips Hue et la retourne.
WebGuiServer(iport: System.Int32, ihtmlContent: System.String)
Description :
Cette méthode initialise le serveur WebGUI avec un port et un contenu HTML.
RegisterMethod(methodName: System.String, method: Action<System.String>)
Description :
Cette méthode enregistre une fonction pouvant être appelée via l’interface WebGUI.
StartWebGuiServer()
Description :
Cette méthode démarre le serveur WebGUI HTTP dans un thread séparé et retourne l’URL du serveur.
StopWebGuiServer()
Description :
Cette méthode arrête le serveur WebGUI et met fin au thread d’écoute.
Dispose()
Description :
Cette méthode arrête la lecture audio et libère toutes les ressources réservées.
DownloadLink:
KNXlib3.8
Dans le paquet de téléchargement, vous trouverez également un exemple en PHP, en Perl, ainsi qu’un exemple C# utilisant déjà les nouvelles fonctionnalités.
Remarque : L’exemple C# doit être exécuté en tant qu’administrateur, faute de quoi certains ports ne peuvent pas être ouverts ou utilisés (ou doivent être autorisés manuellement au préalable).

