* use `LibVLCSharp` and `LibVLCSharp.Avalonia` for audio playback * Create a wrapper service for LibVLCSharp * Core LibVLCSharp code goes 100% in Classify.Infrastructure (no external deps on Classify.Services) * Subscribe to LibVLCSharp events from service or UI layer for time change, system-level play/pause, endreached * Abstraction in services, UI uses services NOT infrastructure * Services does all DB connections, passing filepaths etc. to LibVLCSharp wrapper * hooking into OS-level media control events is _out of scope_ for this issue
LibVLCSharpandLibVLCSharp.Avaloniafor audio playback