Implemented sound effects

This commit is contained in:
Thorsten Sommer 2026-01-07 12:37:04 +01:00
parent 64e07f7702
commit d7bfd52773
Signed by: tsommer
GPG Key ID: 371BBA77A02C0108

View File

@ -33,9 +33,23 @@ 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');
// When only one mime type is provided as a string, convert it to an array:
if (typeof desiredMimeTypes === 'string') {
desiredMimeTypes = [desiredMimeTypes];
@ -123,6 +137,9 @@ window.audioRecorder = {
console.log('Audio recording - all chunks uploaded, finalizing.');
// Play stop recording sound effect:
window.audioRecorder.playSound('/sounds/stop_recording.ogg');
// Stop all tracks to release the microphone:
mediaRecorder.stream.getTracks().forEach(track => track.stop());