# SharpAudio **Repository Path**: lightsever/SharpAudio ## Basic Information - **Project Name**: SharpAudio - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-24 - **Last Updated**: 2025-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SharpAudio SharpAudio is a cross-platform, backend-agnostic library to playback sounds in .NET. It achieves that by wrapping the platform specific backends. Supported backends: - XAudio2 - OpenAL # Build status ![Build Status](https://github.com/feliwir/SharpAudio/workflows/CI/badge.svg?branch=master&event=push) ![Nuget](https://img.shields.io/nuget/v/SharpAudio) # Example SharpAudio provides a low-level interface that wraps audio sources & buffers: ```csharp var engine = AudioEngine.CreateDefault(); var buffer = engine.CreateBuffer(); var source = engine.CreateSource(); // Play a 1s long sound at 440hz AudioFormat format; format.BitsPerSample = 16; format.Channels = 1; format.SampleRate = 44100; float freq = 440.0f; var size = format.SampleRate; var samples = new short[size]; for (int i = 0; i < size; i++) { samples[i] = (short)(32760 * Math.Sin((2 * Math.PI * freq) / size * i)); } buffer.BufferData(samples, format); source.QueueBuffer(buffer); source.Play(); ``` A high level interface that can load and play sound files is provided in the SharpAudio.Codec package: ```csharp var engine = AudioEngine.CreateDefault(); var soundStream = new SoundStream(File.OpenRead("test.mp3"), engine); soundStream.Volume = 0.5f; soundStream.Play(); ``` The following sound formats are supported at the moment: - `.wav` (PCM & ADPCM) - `.mp3` - `.ogg` (WIP: Vorbis & Opus)