SimpleAudioPlayer.Native
2.3.0
See the version list below for details.
dotnet add package SimpleAudioPlayer.Native --version 2.3.0
NuGet\Install-Package SimpleAudioPlayer.Native -Version 2.3.0
<PackageReference Include="SimpleAudioPlayer.Native" Version="2.3.0" />
<PackageVersion Include="SimpleAudioPlayer.Native" Version="2.3.0" />
<PackageReference Include="SimpleAudioPlayer.Native" />
paket add SimpleAudioPlayer.Native --version 2.3.0
#r "nuget: SimpleAudioPlayer.Native, 2.3.0"
#:package SimpleAudioPlayer.Native@2.3.0
#addin nuget:?package=SimpleAudioPlayer.Native&version=2.3.0
#tool nuget:?package=SimpleAudioPlayer.Native&version=2.3.0
SimpleAudioPlayer Native Library
Introduction
This repository contains the native library for the SimpleAudioPlayer project. Built on miniaudio framework and FFmpeg multimedia decoding library, it provides cross-platform audio decoding and playback capabilities.
Key Features
- FFmpeg-based audio decoding with common format support
- Cross-platform audio backend via miniaudio
- Stream playback and audio resampling support
- Native recording support for PCM, WAV, AAC, and M4A outputs
- Decoder callback support for stream length and seek capability
- Propagates stream and decoder failures separately from normal EOF
- Clean C/C++ API interface
Version 2.3
Version 2.3 enables FFmpeg assembly optimizations: x86_64 uses nasm-driven SIMD (SSE/AVX) when available, ARM/ARM64 uses compiler-built-in NEON, and 32-bit x86 safely disables x86asm to avoid PIC and Android TEXTREL issues. It also fixes tail-of-file residual data being reported as a decode error instead of natural EOF.
Version 2.2 adds configurable output-device APIs and maps playback usage and content type to supported platform audio backends.
Use SimpleAudioPlayer.Native 2.3.0 with SimpleAudioPlayer 2.3.0. Older native packages do not contain the extended output-device entry point.
Output Device Configuration
audio_init_device_ex accepts a versioned, size-tagged AudioDeviceConfig for sample rate, channels, buffer periods, performance preference, sharing mode, and cross-platform playback intent. Android maps the intent to AAudio usage/contentType and the OpenSL ES stream type. The existing audio_init_device entry point remains available with its original defaults.
Dependencies
Building
Refer to GitHub Actions CI.yml
License Information
This project is licensed under LGPL-3.0. Key requirements:
- Dynamic linking allows proprietary use
- Modifications must be open-sourced
- Original copyright notices must be preserved
Acknowledgments
This project stands on the shoulders of:
- FFmpeg (LGPL-2.1+/GPLv2+) https://ffmpeg.org/
- miniaudio (Public Domain/DMIT) https://miniaud.io/
- miniaudio-ffmpeg-decoder (Public Domain/DMIT) https://github.com/Mr-Ojii/miniaudio-ffmpeg-decoder
License
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on SimpleAudioPlayer.Native:
| Package | Downloads |
|---|---|
|
SimpleAudioPlayer
Simple Audio Player with miniaudio and ffmpeg |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.3.1 | 199 | 7/25/2026 |
| 2.3.0 | 133 | 7/25/2026 |
| 2.2.0 | 154 | 7/22/2026 |
| 2.1.1 | 132 | 6/24/2026 |
| 2.1.0 | 137 | 6/23/2026 |
| 2.0.0 | 146 | 6/11/2026 |
| 1.8.3 | 128 | 6/11/2026 |
| 1.8.2 | 191 | 5/25/2026 |
| 1.8.1 | 151 | 4/27/2026 |
| 1.8.0 | 500 | 4/16/2025 |
| 1.7.0 | 357 | 4/15/2025 |
| 1.6.0 | 265 | 3/27/2025 |
| 1.5.0 | 268 | 3/13/2025 |
| 1.4.0 | 308 | 3/12/2025 |
| 1.3.0 | 281 | 3/11/2025 |
| 1.2.0 | 336 | 3/9/2025 |
| 1.1.0 | 355 | 3/7/2025 |
| 1.0.0 | 350 | 3/6/2025 |