Odalith.FFAudioSharp
1.0.7
dotnet add package Odalith.FFAudioSharp --version 1.0.7
NuGet\Install-Package Odalith.FFAudioSharp -Version 1.0.7
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="Odalith.FFAudioSharp" Version="1.0.7" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Odalith.FFAudioSharp" Version="1.0.7" />
<PackageReference Include="Odalith.FFAudioSharp" />
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 Odalith.FFAudioSharp --version 1.0.7
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Odalith.FFAudioSharp, 1.0.7"
#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 Odalith.FFAudioSharp@1.0.7
#: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=Odalith.FFAudioSharp&version=1.0.7
#tool nuget:?package=Odalith.FFAudioSharp&version=1.0.7
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Play audio with FFmpeg and SDL2 in dotnet! Currently, it only supports linux with modern FFmpeg and SDL2 installed.
See the examples folder for example projects.
FFaudio is a high-level audio player library using FFmpeg & SDL2.
It is based on a heavily modified version of FFplay, so all credit for its general design goes to the FFmpeg team and contributors.
Features
- Cross-platform. Can potentially support Windows, Linux, macOS, Android, and iOS. (Linux is the only one currently, more soon to come)
- Thanks to FFmpeg it can decode and play basically any file with an audio component:
- Tested to work with mp3, flac, wav, aiff, m4a, wma, oga, ogg, aac, and dsf (dsd64)
- Plentiful list of options and filters for customizing playback:
- Volume 0-100
- Looping infinite, 0, or a specific number of times
- Mute
- Pause/Resume
- Seek
- Seek percentage
- 10 band Equalizer
- Crossfeed
- EBU R128 audio normalization
- More if you know how to set up FFmpeg filters (Send PR!)
- BEEFY callbacks with flags for easy integration into your application:
- End of file callback
- Logging callback
- Stream restarted callback
- Duration updated callback (Not implemeted yet)
- Prepare next file callabck (Not implemeted yet)
- Simple API for integrating audio playback into you .NET application
- Performant and memory efficient thanks again to FFmpeg
- Supports playing audio through a custom audio device and runtime reconfiguration
- Licensed under the LGPLv2.1 and free to use
Who It's For
Want audio playback and don't need to mix audio? Yes? Fabulous.
Planned Features
- Fully support playback of rtp, rtsp, udp, and sdp (non-realtime) audio streams
- Gapless playback for non-realtime streams via 'soon to be done callback'
- Realtime updates to Equalizer
- Crossfade with custom crossfade time (Note that the currently supported Crossfeed is different from Crossfade)
Possible Features
- Audio mixing of multiple streams
- Audio file conversion
- OS integration. Linux MPRIS support, for example.
- Custom channel layouts
- Support for audio formats with more than two channels
- Assuming compatible hardware, support playing DSD without conversion to PCM
- Generation of EBU R128 audio normalization data (Currently, you have to do this yourself. FFaudio only does the adjustment part)
- Multiple simultaneous audio devices
Note; this project is not affiliated with FFmpeg, FFplay, or their Authors.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.