Добавлена подсветка воспроизводимой песни
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
@implements IDisposable
|
||||
@implements IAsyncDisposable
|
||||
|
||||
<MudStack Spacing="1" Row AlignItems="AlignItems.Center" Wrap="Wrap.NoWrap">
|
||||
<MudStack Spacing="1" Row AlignItems="AlignItems.Center" Wrap="Wrap.NoWrap" Class="player-enter">
|
||||
<!-- Кнопки управления -->
|
||||
<MudIconButton Icon="@Icons.Material.Filled.SkipPrevious"
|
||||
Size="Size.Small"
|
||||
@@ -17,9 +17,7 @@
|
||||
Disabled="@(!AudioPlayerService.HasPrevious)"
|
||||
OnClick="() => AudioPlayerService.PlayPreviousAsync()" />
|
||||
|
||||
<MudItem @onmouseenter="() => { _isPlayHovered = true; }"
|
||||
@onmouseleave="() => { _isPlayHovered = false; }"
|
||||
Class="relative d-inline-block rounded overflow-hidden cursor-pointer"
|
||||
<MudItem Class="relative d-inline-block rounded overflow-hidden cursor-pointer"
|
||||
Style="width: 50px; height: 50px;">
|
||||
|
||||
@if (!string.IsNullOrEmpty(AudioPlayerService.CurrentTrack?.CoverUri))
|
||||
@@ -125,7 +123,6 @@
|
||||
private double _volumeBeforeMute;
|
||||
private double _bufferSecond;
|
||||
|
||||
private bool _isPlayHovered;
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
@@ -179,6 +176,29 @@
|
||||
{
|
||||
_bufferSecond = second;
|
||||
}
|
||||
|
||||
[JSInvokable]
|
||||
public async Task OnKeyboardTogglePlay()
|
||||
{
|
||||
if (AudioPlayerService.IsPlaying)
|
||||
await AudioPlayerService.PauseAsync();
|
||||
else
|
||||
await AudioPlayerService.PlayAsync();
|
||||
}
|
||||
|
||||
[JSInvokable]
|
||||
public async Task OnKeyboardSeek(double delta)
|
||||
{
|
||||
var newTime = Math.Max(0, AudioPlayerService.CurrentTime + delta);
|
||||
await AudioPlayerService.SeekToAsync(newTime);
|
||||
}
|
||||
|
||||
[JSInvokable]
|
||||
public async Task OnKeyboardVolumeChange(double delta)
|
||||
{
|
||||
var newVol = Math.Clamp(AudioPlayerService.CurrentVolume + delta, 0, 100);
|
||||
await AudioPlayerService.SetVolumeAsync(newVol);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Обработка сервиса
|
||||
@@ -307,7 +327,10 @@
|
||||
AudioPlayerService.OnStateChanged -= OnServiceStateChanged;
|
||||
|
||||
if (_audioElement != null)
|
||||
{
|
||||
try { await _audioElement.InvokeVoidAsync("destroy"); } catch { }
|
||||
await _audioElement.DisposeAsync();
|
||||
}
|
||||
if (_audioModule != null)
|
||||
await _audioModule.DisposeAsync();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user