Looping sounds und hintergrund musik für slots

This commit is contained in:
NBTEMP\bib
2026-09-12 17:08:21 +02:00
parent 5069e43993
commit da0b8189d7
4 changed files with 30 additions and 28 deletions
+20 -16
View File
@@ -13,6 +13,8 @@ namespace Casino
{ {
private readonly MediaPlayer player = new MediaPlayer(); private readonly MediaPlayer player = new MediaPlayer();
public Audioplayer() { player.MediaEnded += Player_MediaEnded; }
public void PlaySound(byte[] audioBlob) public void PlaySound(byte[] audioBlob)
{ {
string tempFile = System.IO.Path.Combine( string tempFile = System.IO.Path.Combine(
@@ -27,29 +29,31 @@ namespace Casino
player.Play(); player.Play();
} }
private bool isPlaying = false; private void Player_MediaEnded(object? sender, EventArgs e)
private readonly MediaPlayer musicPlayer = new();
public void PlayMusic(byte[] audioBlob)
{ {
if (isPlaying) player.Position = TimeSpan.Zero;
return; player.Play();
}
isPlaying = true;
public void PlayLoopingSound(byte[] audioBlob)
{
string tempFile = System.IO.Path.Combine( string tempFile = System.IO.Path.Combine(
System.IO.Path.GetTempPath(), System.IO.Path.GetTempPath(),
Guid.NewGuid() + ".mp3"); "background.mp3");
System.IO.File.WriteAllBytes(tempFile, audioBlob); File.WriteAllBytes(tempFile, audioBlob);
musicPlayer.MediaEnded += (s, e) => player.Open(new Uri(tempFile));
{
isPlaying = false;
};
musicPlayer.Open(new Uri(tempFile)); player.MediaEnded -= Player_MediaEnded;
musicPlayer.Play(); player.MediaEnded += Player_MediaEnded;
player.Play();
} }
public void Stop()
{
player.Stop();
} }
} }
}
-1
View File
@@ -18,7 +18,6 @@
<Grid> <Grid>
<Button Content="Slots" HorizontalAlignment="Left" Height="39" Margin="65,114,0,0" VerticalAlignment="Top" Width="93" Click="Slots_Click"/> <Button Content="Slots" HorizontalAlignment="Left" Height="39" Margin="65,114,0,0" VerticalAlignment="Top" Width="93" Click="Slots_Click"/>
<Button Content="sound" HorizontalAlignment="Left" Height="39" Margin="65,193,0,0" VerticalAlignment="Top" Width="93" Click="Sound_Click"/>
<Button Content="Blackjack" HorizontalAlignment="Left" Margin="221,114,0,0" VerticalAlignment="Top" Height="40" Width="79" Click="Blackjack_Click"/> <Button Content="Blackjack" HorizontalAlignment="Left" Margin="221,114,0,0" VerticalAlignment="Top" Height="40" Width="79" Click="Blackjack_Click"/>
<Button Content="Busfahrer" HorizontalAlignment="Left" Margin="221,193,0,0" VerticalAlignment="Top" Height="40" Width="79" Click="Busfahrer_Click"/> <Button Content="Busfahrer" HorizontalAlignment="Left" Margin="221,193,0,0" VerticalAlignment="Top" Height="40" Width="79" Click="Busfahrer_Click"/>
-7
View File
@@ -28,13 +28,6 @@ namespace Casino
slotsWindow.Show(); slotsWindow.Show();
} }
private void Sound_Click(object sender, RoutedEventArgs e)
{
Database data = new Database();
byte[] blobData = data.GetSound(2);
var audioService = new Audioplayer();
audioService.PlayMusic(blobData);
}
private void Blackjack_Click(object sender, RoutedEventArgs e) private void Blackjack_Click(object sender, RoutedEventArgs e)
{ {
+8 -2
View File
@@ -28,6 +28,7 @@ namespace Casino
Database db = new Database(); Database db = new Database();
private List<Byte[]> AlleBilder; private List<Byte[]> AlleBilder;
ObservableCollection<User> users = new ObservableCollection<User>(); ObservableCollection<User> users = new ObservableCollection<User>();
Audioplayer audio = new Audioplayer();
private int[,] currentSlot = new int[3, 6]; private int[,] currentSlot = new int[3, 6];
@@ -62,8 +63,7 @@ namespace Casino
}; };
Konto.Text = users[MainWindow.currentUser].Geld.ToString(); Konto.Text = users[MainWindow.currentUser].Geld.ToString();
audio.PlayLoopingSound(db.GetSound(2));
} }
@@ -140,6 +140,7 @@ namespace Casino
private void Hauptmenue(object sender, RoutedEventArgs e) private void Hauptmenue(object sender, RoutedEventArgs e)
{ {
audio.Stop();
Close(); Close();
} }
@@ -311,6 +312,11 @@ namespace Casino
} }
} }
void PlayWinSound()
{
} }
}
} }