NVorbis.Core
1.0.0
dotnet add package NVorbis.Core --version 1.0.0
NuGet\Install-Package NVorbis.Core -Version 1.0.0
<PackageReference Include="NVorbis.Core" Version="1.0.0" />
paket add NVorbis.Core --version 1.0.0
#r "nuget: NVorbis.Core, 1.0.0"
// Install NVorbis.Core as a Cake Addin
#addin nuget:?package=NVorbis.Core&version=1.0.0
// Install NVorbis.Core as a Cake Tool
#tool nuget:?package=NVorbis.Core&version=1.0.0
NVorbis 
NVorbis is a .Net library for decoding Xiph.org Vorbis files. It is designed to run in partial trust environments and does not require P/Invoke or unsafe code.
This implementation is based on the Vorbis specification found on xiph.org. The MDCT and Huffman codeword generator were borrowed from public domain implementations in https://github.com/nothings/stb/blob/master/stb_vorbis.c.
Currently the only container supported is Xiph.org Ogg. Ogg Skeleton and Matroska / WebM are planned (no ETA, though). RTP support is possible, but not planned.
To use:
// add a reference to NVorbis.dll
using (var vorbis = new NVorbis.VorbisReader("path/to/file.ogg"))
{
// get the channels & sample rate
var channels = vorbis.Channels;
var sampleRate = vorbis.SampleRate;
// OPTIONALLY: get a TimeSpan indicating the total length of the Vorbis stream
var totalTime = vorbis.TotalTime;
// create a buffer for reading samples
var readBuffer = new float[channels * sampleRate / 5]; // 200ms
// get the initial position (obviously the start)
var position = TimeSpan.Zero;
// go grab samples
int cnt;
while ((cnt = vorbis.ReadSamples(readBuffer, 0, readBuffer.Length)) > 0)
{
// do stuff with the buffer
// samples are interleaved (chan0, chan1, chan0, chan1, etc.)
// sample value range is -0.99999994f to 0.99999994f unless vorbis.ClipSamples == false
// OPTIONALLY: get the position we just read through to...
position = vorbis.DecodedTime;
}
}
If you are using NAudio, support is available via NAudio.Vorbis.
If you have any questions or comments, feel free to join us on Gitter. If you have any issues or feature requests, please submit them in the issue tracker.
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
.NET Core | netcoreapp1.0 netcoreapp1.1 netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard1.6 netstandard2.0 netstandard2.1 |
.NET Framework | net451 net452 net46 net461 net462 net463 net47 net471 net472 net48 net481 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen30 tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
-
.NETFramework 4.5.1
- No dependencies.
-
.NETStandard 1.6
- Microsoft.NETCore.Portable.Compatibility (>= 1.0.0)
- NETStandard.Library (>= 1.6.0)
- System.Diagnostics.Debug (>= 4.3.0)
- System.IO.FileSystem (>= 4.3.0)
- System.Runtime.InteropServices (>= 4.3.0)
- System.Runtime.Serialization.Formatters (>= 4.3.0)
- System.Threading (>= 4.3.0)
- System.Threading.Thread (>= 4.3.0)
-
Portable Class Library (.NETFramework 4.5, Windows 8.0, WindowsPhoneApp 8.1)
- Portable.Text.Encoding (>= 0.8.3.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 1,158 | 2/24/2018 |