1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 19:22:54 +08:00

Fix audio preview muting game audio indefinitely when beatmap p… (#6738)

Fix audio preview muting game audio indefinitely when beatmap panel is off-screen

Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
This commit is contained in:
Dean Herbert 2019-11-06 18:34:17 +09:00 committed by GitHub
commit a6d000baa2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 5 deletions

View File

@ -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();
}

View File

@ -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;
}