AntMedia.Net.Android 2.17.2.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package AntMedia.Net.Android --version 2.17.2.2
                    
NuGet\Install-Package AntMedia.Net.Android -Version 2.17.2.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AntMedia.Net.Android" Version="2.17.2.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AntMedia.Net.Android" Version="2.17.2.2" />
                    
Directory.Packages.props
<PackageReference Include="AntMedia.Net.Android" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AntMedia.Net.Android --version 2.17.2.2
                    
#r "nuget: AntMedia.Net.Android, 2.17.2.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package AntMedia.Net.Android@2.17.2.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AntMedia.Net.Android&version=2.17.2.2
                    
Install as a Cake Addin
#tool nuget:?package=AntMedia.Net.Android&version=2.17.2.2
                    
Install as a Cake Tool

AntMedia.Net

.NET bindings for the Ant Media WebRTC SDKs, with one API across Android and iOS. Publish and play WebRTC streams through an Ant Media Server from C#, in .NET MAUI or plain .NET for Android / iOS.

dotnet add package AntMedia.Net.Maui    # MAUI apps: adds the video view
dotnet add package AntMedia.Net         # everything else
var client = new AntMediaOptions
{
    ServerUrl = "wss://your-server:5443/WebRTCAppEE/websocket",
}.CreateClient();

client.SetLocalView(LocalView);          // an <antmedia:AntMediaVideoView /> from your XAML
client.PublishStarted += (_, e) => Console.WriteLine($"live: {e.StreamId}");

await client.PublishAsync("my-stream");  // completes when the server confirms

Packages

Package What it is Target frameworks
AntMedia.Net.Maui MAUI video view, handlers, and the Android Activity plumbing net8.0, net9.0, net10.0 (android + ios)
AntMedia.Net The cross-platform client: IAntMediaClient, options, events, async net8.0, net9.0, net10.0 (android + ios)
AntMedia.Net.Android The raw binding to the Ant Media Android SDK net8.0-android34.0, net9.0-android35.0, net10.0-android36.0
AntMedia.Net.iOS The raw binding to the Ant Media iOS SDK net8.0-ios18.0, net9.0-ios18.0, net10.0-ios26.0

Each package pulls in the one below it, so a single reference is enough. Drop to a platform binding directly when you need something the cross-platform API does not expose — the full SDK surface is there under AntMedia.WebRTC.* (Android) and AntMedia.Net.iOS.* (iOS).

Why there is a cross-platform layer

The two SDKs look nothing like each other: Android has a builder and a 40-method Java listener interface, iOS has a Swift client reached through an Objective-C facade and a delegate. Written against the bindings directly, an app targeting both needs roughly 300 lines of adapter before it can publish a stream. AntMedia.Net is that adapter, so you do not write it.

The sample is the evidence: samples/AntMedia.Net.Sample publishes and plays with no per-platform code at all.

What is bound

Android binds WebRTC-Android-SDK whole. One .aar carries both io.antmedia.webrtcandroidframework and org.webrtc, so the full native surface is available, documented with the SDK's own javadoc.

iOS binds WebRTC-iOS-SDK through an @objc facade this repository maintains. The upstream SDK is Swift and exposes almost nothing to Objective-C, so there is nothing for a .NET binding to attach to; native/ios/Facade re-exposes the client API and is compiled into the framework. See docs/BUILD.md for what that leaves out.

Mac Catalyst is not supported. Neither of Ant Media's iOS xcframeworks ships a Catalyst slice.

Building

See docs/BUILD.md. In short:

./native/android/fetch-android.sh     # builds the .aar from source (JDK 17 + Android SDK)
./native/ios/fetch-ios.sh             # builds the xcframework with the facade (macOS + Xcode)
./build/BuildNugets.sh                # packs everything into ./artifacts

Licence

The binding and client code is MIT. The bundled Ant Media SDKs are MIT, and the WebRTC.xcframework in the iOS package is Ant Media's build of libwebrtc, under its own BSD licence.

Product Compatible and additional computed target framework versions.
.NET net8.0-android34.0 is compatible.  net9.0-android was computed.  net9.0-android35.0 is compatible.  net10.0-android was computed.  net10.0-android36.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on AntMedia.Net.Android:

Package Downloads
AntMedia.Net

One API over the Ant Media WebRTC SDKs for Android, iOS and Mac Catalyst: publish and play streams with awaitable calls and ordinary .NET events, instead of writing a per-platform adapter over a Java listener interface and an Objective-C delegate. Pulls in the platform binding that matches whichever target framework you build. For .NET MAUI apps, add AntMedia.Net.Maui for the video view.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.17.2.6 109 7/27/2026
2.17.2.5 118 7/25/2026
2.17.2.4 116 7/24/2026
2.17.2.3 111 7/22/2026
2.17.2.2 98 7/22/2026
2.17.2.1 112 7/22/2026
2.17.2-beta.3.15 54 7/22/2026
2.17.2-beta.2.6 59 7/22/2026
2.17.2-beta.2.4 57 7/22/2026
2.17.2-beta.1.1 60 7/22/2026
1.0.0.1-beta1 270 2/9/2024