Native-first, fallback-ready
Playback Backends & Tracks
Choose the strongest playback engine without changing the Avalonia control surface.
Explore source ↗Capability
Backend-neutral contracts select macOS AVFoundation or Windows Media Foundation paths where available while keeping FFmpeg and LibVLC modes, diagnostics, audio/subtitle tracks, devices, and routes accessible.
- 01
AVFoundation and Media Foundation directions
- 02
FFmpeg and LibVLC fallbacks
- 03
Audio and subtitle track APIs
- 04
Input, output, route, and backend diagnostics
How it composes
From intent
to working system.
Probe
The runtime catalog reports providers and capabilities.
Select
Platform and user policy choose native or fallback playback.
Control
One API handles transport, seek, volume, tracks, devices, and routes.
Diagnose
Backend and upload state remain visible to the application.
Quick start
Adopt this
capability.
Start with the primary module, then add the related packages only when the application needs those layers. Replace VERSION with the current NuGet version.
dotnet add package MediaPlayer.Native.Abstractionsdotnet add package MediaPlayer.Native.Interop<PackageReference Include="MediaPlayer.Native.Abstractions" Version="VERSION" /><PackageVersion Include="MediaPlayer.Native.Abstractions" Version="VERSION" />var player = new GpuMediaPlayer{ Source = new Uri("file:///media/movie.mp4")};player.Play();player.Seek(TimeSpan.FromSeconds(30));var tracks = player.AudioTracks;Modules in this capability
Use one layer.
Compose the rest.
Source of truth
Read the module beside the complete system.
The implementation, samples, issues, and release notes stay in the parent repository so module details remain connected to the product architecture.