Variable de Récupération audio

Répondre
TsidyMiboela
Messages : 7
Enregistré le : jeu. mai 13, 2021 9:52 am
Localisation : Antananarivo Madagascar

Variable de Récupération audio

Message par TsidyMiboela » mer. juin 04, 2025 11:44 am

Bonjour à tous,

Je travaille actuellement avec Sphinx iQ 3 et je cherche à récupérer un fichier audio envoyé par un répondant via une variable de type Upload Document.

Le fichier audio est bien transmis (le répondant peut l'enregistrer via un bouton d'enregistrement que j’ai intégré), mais je ne parviens pas à exploiter ou récupérer ce fichier audio correctement après la soumission du questionnaire.

Voici ce que je cherche à faire :

Permettre à l'utilisateur d'enregistrer un message vocal.

Sauvegarder ce message dans une variable de type "Upload Document".

Accéder ensuite au fichier dans les résultats ou via un script JavaScript ou autre méthode compatible.

Est-ce que quelqu’un a déjà rencontré ce problème ou aurait une solution ou un contournement à proposer ?

Merci d’avance pour votre aide !
Voici un extrait du code:

Code : Tout sélectionner

downloadButton.addEventListener('click', () => {
            if (tempAudioBlob) {
                const url = URL.createObjectURL(tempAudioBlob);
                const a = document.createElement('a');
                a.style.display = 'none';
                a.href = url;

                const now = new Date();
                const pad = (n) => n.toString().padStart(2, '0');
                const filename = `reponse_audio_${now.getFullYear()}${pad(now.getMonth() + 1)}${pad(now.getDate())}${pad(now.getHours())}${pad(now.getMinutes())}${pad(now.getSeconds())}.wav`;
                a.download = filename;

                document.body.appendChild(a);
                a.click();
                document.body.removeChild(a);
                window.URL.revokeObjectURL(url);

                const file = new File([tempAudioBlob], filename, {
                    type: "audio/wav"
                });

                // Injection du fichier dans le champ input
                const input = document.getElementById("1427891350_upload");
                if (!input) {
                    alert("Erreur : champ d’upload introuvable.");
                    return;
                }

                const dataTransfer = new DataTransfer();
                dataTransfer.items.add(file);
                input.files = dataTransfer.files;

                const event = new Event('change', {
                    bubbles: true
                });
                input.dispatchEvent(event);

                alert("Audio téléchargé et injecté dans Q1_Audio !");
            } else {
                alert("Aucun enregistrement disponible pour le téléchargement.");
            }
        });
Tsidy Miboela

Répondre