Native-first, fallback-ready

Playback Backends & Tracks

Choose the strongest playback engine without changing the Avalonia control surface.

Explore source
Parent systemMediaPlayer
StatusActive
Modules2
RepositoryMediaPlayer/MediaPlayer.Native.Abstractions

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.

  1. 01

    AVFoundation and Media Foundation directions

  2. 02

    FFmpeg and LibVLC fallbacks

  3. 03

    Audio and subtitle track APIs

  4. 04

    Input, output, route, and backend diagnostics

From intent
to working system.

01

Probe

The runtime catalog reports providers and capabilities.

02

Select

Platform and user policy choose native or fallback playback.

03

Control

One API handles transport, seek, volume, tracks, devices, and routes.

04

Diagnose

Backend and upload state remain visible to the application.

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.

01 · Install
Terminal
dotnet add package MediaPlayer.Native.Abstractions
dotnet add package MediaPlayer.Native.Interop
02 · Use · csharp
QuickStart.cs
var player = new GpuMediaPlayer
{
Source = new Uri("file:///media/movie.mp4")
};
player.Play();
player.Seek(TimeSpan.FromSeconds(30));
var tracks = player.AudioTracks;

Use one layer.
Compose the rest.

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.

MediaPlayer

Search everything.

Loading the index…

move open esc close

Preparing metadata and full-text search…