From 8aad2a9ee4ea25c7c8e7312e96423425e522cd23 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Fri, 9 Jan 2026 19:38:41 +0100 Subject: [PATCH] Refactor `playSound` function for better reusability --- app/MindWork AI Studio/wwwroot/app.js | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/app/MindWork AI Studio/wwwroot/app.js b/app/MindWork AI Studio/wwwroot/app.js index 2dd43e5c..8a4e036d 100644 --- a/app/MindWork AI Studio/wwwroot/app.js +++ b/app/MindWork AI Studio/wwwroot/app.js @@ -27,28 +27,28 @@ window.scrollToBottom = function(element) { element.scrollIntoView({ behavior: 'smooth', block: 'end', inline: 'nearest' }); } +window.playSound = function(soundPath) { + try { + const audio = new Audio(soundPath); + audio.play().catch(error => { + console.warn('Failed to play sound effect:', error); + }); + } catch (error) { + console.warn('Error creating audio element:', error); + } +}; + let mediaRecorder; let actualRecordingMimeType; let changedMimeType = false; let pendingChunkUploads = 0; window.audioRecorder = { - playSound: function(soundPath) { - try { - const audio = new Audio(soundPath); - audio.play().catch(error => { - console.warn('Failed to play sound effect:', error); - }); - } catch (error) { - console.warn('Error creating audio element:', error); - } - }, - start: async function (dotnetRef, desiredMimeTypes = []) { const stream = await navigator.mediaDevices.getUserMedia({ audio: true }); // Play start recording sound effect: - this.playSound('/sounds/start_recording.ogg'); + window.playSound('/sounds/start_recording.ogg'); // When only one mime type is provided as a string, convert it to an array: if (typeof desiredMimeTypes === 'string') { @@ -138,7 +138,7 @@ window.audioRecorder = { console.log('Audio recording - all chunks uploaded, finalizing.'); // Play stop recording sound effect: - window.audioRecorder.playSound('/sounds/stop_recording.ogg'); + window.playSound('/sounds/stop_recording.ogg'); // Stop all tracks to release the microphone: mediaRecorder.stream.getTracks().forEach(track => track.stop());