Actually fix the music sharing its volume with the soundeffects

This commit is contained in:
JappaWakkaP3D 2020-10-25 15:27:55 +01:00 committed by Vitaly Mikhailov
parent bd290df9bb
commit 620f4d8325
1 changed files with 29 additions and 29 deletions

View File

@ -94,8 +94,8 @@ Public Class MusicManager
Private Shared _isFadingIn As Boolean = False
' NAudio properties
Public Shared outputDevice As WaveOutEvent
Public Shared audioFile As VorbisWaveReader
Public Shared _loop As WaveStream
Public Shared audioFile As WaveChannel32
Public Shared _loop As WaveStream
Public Shared Property MasterVolume As Single = 1.0F
Public Shared ReadOnly Property CurrentSong As SongContainer
@ -271,9 +271,9 @@ Public Class MusicManager
Public Shared Sub UpdateVolume()
_lastVolume = Volume * MasterVolume
If Not outputDevice Is Nothing Then
outputDevice.Volume = Volume * MasterVolume
End If
If Not audioFile Is Nothing Then
audioFile.Volume = Volume * MasterVolume
End If
End Sub
Public Shared Sub PauseForSound(ByVal sound As SoundEffect)
@ -310,32 +310,32 @@ Public Class MusicManager
End Sub
Private Shared Sub Play(song As SongContainer)
If Not song Is Nothing Then
Logger.Debug($"Play song [{song.Name}]")
If Not outputDevice Is Nothing Then
outputDevice.Dispose()
End If
outputDevice = New WaveOutEvent()
audioFile = New VorbisWaveReader(song.Song)
_loop = New LoopStream(audioFile, _isLooping)
outputDevice.Init(_loop)
If Paused = False Then
outputDevice.Play()
End If
outputDevice.Volume = Volume * MasterVolume
_currentSongExists = True
_currentSongName = song.Name
_currentSong = song
Else
_currentSongExists = False
_currentSongName = NO_MUSIC
_currentSong = Nothing
End If
Private Shared Sub Play(song As SongContainer)
If Not song Is Nothing Then
Logger.Debug($"Play song [{song.Name}]")
If Not outputDevice Is Nothing Then
outputDevice.Dispose()
End If
outputDevice = New WaveOutEvent()
audioFile = New NAudio.Wave.WaveChannel32(New VorbisWaveReader(song.Song))
_loop = New LoopStream(audioFile, _isLooping)
outputDevice.Init(_loop)
If Paused = False Then
outputDevice.Play()
End If
audioFile.Volume = Volume * MasterVolume
_currentSongExists = True
_currentSongName = song.Name
_currentSong = song
Else
_currentSongExists = False
_currentSongName = NO_MUSIC
_currentSong = Nothing
End If
End Sub
End Sub
Private Shared Sub FadeInto(song As SongContainer, fadeSpeed As Single)
Private Shared Sub FadeInto(song As SongContainer, fadeSpeed As Single)
_isFadingOut = True
If Not song Is Nothing Then
_nextSong = song.Name