const config = require('./config') const player = require('play-sound')(); const mqtt = require('mqtt') // Créer une instance de client MQTT const client = mqtt.connect(config.mqttBrokerUrl); const messages_sounds_maps = { 'success': "./assets/sounds/success.mp3", 'fail': "./assets/sounds/error.mp3", 'timer': "./assets/sounds/timer.mp3", 'bell': "/home/lol/Src/fablab/brain-blast-services/src/assets/sounds/coin.wav", 'applause': "./assets/sound/clap.mp3" } // Gérer les événements de connexion client.on('connect', function () { console.log('Connecté au broker MQTT') // S'abonner à un topic client.subscribe('/sound/playsound', function (err) { if (err) { console.error('Erreur lors de la souscription au topic', err) } else { console.log('Souscription au topic réussie') } }); }); // Gérer les messages entrants client.on('message', function (topic, message) { let obj = JSON.parse(message) const audioFile = messages_sounds_maps[obj] console.log('Message reçu sur le topic', topic, ':', obj) console.log('Je vais lire le fichier : ', audioFile) if (audioFile) { // Jouer le fichier audio correspondant au message reçu player.play(audioFile, function(err){ if (err) { console.error('Erreur lors de la lecture du fichier audio', err); } else { console.log('Fichier audio lu avec succès'); } }); } else { console.warn('Aucun fichier audio correspondant au message reçu'); } }); // Gérer les erreurs de connexion client.on('error', function (error) { console.error('Erreur de connexion au broker MQTT', error); });