9ac2c9182a
- Redesigned audio player bar to be mobile-friendly - Added unloading for track switching (needs to be fixed) - Added IsLoading status so loading spinner isn't hanging around when it shouldn't be - Normalized styles with scoped files (will further reduce) - Layout Cleanup - EF fixes (migrations now function for deployment) - deploy script updates (new dedicated host)
32 lines
789 B
C#
32 lines
789 B
C#
using DeepDrftModels.Entities;
|
|
using NetBlocks.Models;
|
|
|
|
namespace DeepDrftWeb.Client.Services;
|
|
|
|
public interface IPlayerService
|
|
{
|
|
// State properties
|
|
bool IsInitialized { get; }
|
|
bool IsLoaded { get; }
|
|
bool IsLoading { get; }
|
|
bool IsPlaying { get; }
|
|
bool IsPaused { get; }
|
|
double CurrentTime { get; }
|
|
double? Duration { get; }
|
|
double Volume { get; }
|
|
double LoadProgress { get; }
|
|
string? ErrorMessage { get; }
|
|
|
|
// Events for UI updates
|
|
event Action? OnStateChanged;
|
|
event Events.EventAsync OnTrackSelected;
|
|
|
|
// Control methods
|
|
Task SelectTrack(TrackEntity track);
|
|
Task Stop();
|
|
Task Unload();
|
|
Task TogglePlayPause();
|
|
Task Seek(double position);
|
|
Task SetVolume(double volume);
|
|
void ClearError();
|
|
} |