Added logic for tags and audio engine.

This commit is contained in:
2025-02-20 00:01:07 -05:00
parent 2bafd474a0
commit f8cda3105a
20 changed files with 316 additions and 10 deletions

View File

@@ -0,0 +1,22 @@
namespace Harmonia.Core.Engine;
public interface IAudioEngine
{
string[] SupportedFormats { get; }
string Source { get; }
TimeSpan Position { get; set; }
TimeSpan Length { get; }
float Volume { get; set; }
bool CanPause { get; }
bool IsMuted { get; set; }
AudioPlaybackState State { get; }
Task<bool> LoadAsync(string fileName);
void Play();
void Pause();
void Stop();
event EventHandler<PlaybackStoppedEventArgs> PlaybackStopped;
event EventHandler StreamFinished;
event EventHandler<PlaybackStateChangedEventArgs> StateChanged;
}