feat: add audio features and sounds to the game
Some checks failed
CI / Get Changed Files (pull_request) Successful in 31s
CI / Checkstyle Main (pull_request) Has been skipped
CI / Docker backend validation (pull_request) Has been skipped
CI / oxlint (pull_request) Successful in 23s
CI / prettier (pull_request) Failing after 27s
CI / eslint (pull_request) Successful in 31s
CI / test-build (pull_request) Successful in 49s
CI / Docker frontend validation (pull_request) Successful in 1m34s

This commit is contained in:
Jan-Marlon Leibl 2025-05-15 14:03:26 +02:00
commit 5809757bc9
Signed by: jleibl
GPG key ID: 300B2F906DC6F1D5
12 changed files with 133 additions and 1 deletions

View file

@ -0,0 +1,29 @@
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class AudioService {
private audioCache = new Map<string, HTMLAudioElement>();
private getAudio(soundName: string): HTMLAudioElement {
if (!this.audioCache.has(soundName)) {
const audio = new Audio(`/sounds/${soundName}`);
this.audioCache.set(soundName, audio);
return audio;
}
return this.audioCache.get(soundName)!;
}
playBetSound(): void {
const audio = this.getAudio('bet.mp3');
audio.currentTime = 0;
audio.play().catch(error => console.error('Error playing bet sound:', error));
}
playWinSound(): void {
const audio = this.getAudio('win.mp3');
audio.currentTime = 0;
audio.play().catch(error => console.error('Error playing win sound:', error));
}
}