mirror of
https://github.com/ppy/osu
synced 2024-12-25 08:12:41 +00:00
Fix audio preview muting game audio indefinitely when beatmap panel is off-screen
This commit is contained in:
parent
e4ad657353
commit
c1a6cb1def
@ -13,11 +13,13 @@ namespace osu.Game.Audio
|
||||
{
|
||||
/// <summary>
|
||||
/// Invoked when this <see cref="PreviewTrack"/> has stopped playing.
|
||||
/// Not invoked in a thread-safe context.
|
||||
/// </summary>
|
||||
public event Action Stopped;
|
||||
|
||||
/// <summary>
|
||||
/// Invoked when this <see cref="PreviewTrack"/> has started playing.
|
||||
/// Not invoked in a thread-safe context.
|
||||
/// </summary>
|
||||
public event Action Started;
|
||||
|
||||
@ -29,7 +31,7 @@ namespace osu.Game.Audio
|
||||
{
|
||||
track = GetTrack();
|
||||
if (track != null)
|
||||
track.Completed += () => Schedule(Stop);
|
||||
track.Completed += Stop;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -93,6 +95,7 @@ namespace osu.Game.Audio
|
||||
hasStarted = false;
|
||||
|
||||
track.Stop();
|
||||
|
||||
Stopped?.Invoke();
|
||||
}
|
||||
|
||||
|
@ -46,18 +46,18 @@ namespace osu.Game.Audio
|
||||
{
|
||||
var track = CreatePreviewTrack(beatmapSetInfo, trackStore);
|
||||
|
||||
track.Started += () =>
|
||||
track.Started += () => Schedule(() =>
|
||||
{
|
||||
current?.Stop();
|
||||
current = track;
|
||||
audio.Tracks.AddAdjustment(AdjustableProperty.Volume, muteBindable);
|
||||
};
|
||||
});
|
||||
|
||||
track.Stopped += () =>
|
||||
track.Stopped += () => Schedule(() =>
|
||||
{
|
||||
current = null;
|
||||
audio.Tracks.RemoveAdjustment(AdjustableProperty.Volume, muteBindable);
|
||||
};
|
||||
});
|
||||
|
||||
return track;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user