BasicAudio 2019.11.19.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package BasicAudio --version 2019.11.19.1
NuGet\Install-Package BasicAudio -Version 2019.11.19.1
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="BasicAudio" Version="2019.11.19.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BasicAudio --version 2019.11.19.1
#r "nuget: BasicAudio, 2019.11.19.1"
#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.
// Install BasicAudio as a Cake Addin
#addin nuget:?package=BasicAudio&version=2019.11.19.1

// Install BasicAudio as a Cake Tool
#tool nuget:?package=BasicAudio&version=2019.11.19.1

Basic Audio

NuGet version (BasicAudio) NuGet version (BasicAudio)

Basic audio is a class library with a test project (audio player/recorder) to faciliate basic audio playing and recording. There are other frameworks available to give you very detailed and complex audio functionality, this one aims to provide only the basic playback / record methods or provide light weight code you can include in your project. That being the case, the goal is to keep it simple for those that just want to incorporate playback/recording with minimal code or learning other frameworks.

If you need advanced recording and audio features I highly recommend NAudio.

Basic audio was originally written in Visual Basic but is now built off of C#. The Visual Basic version has been left in this project for posterity.

The library provides its functionality through the mciSendString Windows API and thus binds it desktop use cases. The playback features support wave files and mp3 files and the recoding supports wave files. The class library contains 3 classes, one for playback, one for recording and one that is an MCI error messages (there's an official API for this that I'll use in the future). The classes have been kept slim to facilitate ease of use. If you're looking for very detailed recording objects you'll want to consider another framework such as NAudio. Note that this records through whatever the currently selected recording device is in Windows.

OS Support

  • Windows 10
  • Windows 8.1
  • Windows 8
  • Windows 7
  • Windows Vista

.Net Framework Support

  • .NET Standard 2.1
  • .NET Standard 2.0
  • .NET Standard 1.6
  • .NET Standard 1.5
  • .NET Standard 1.4
  • .NET Standard 1.3
  • .NET Framework 4.7.2
  • .NET Framework 4.7.1
  • .NET Framework 4.7
  • .NET Framework 4.6.2
  • .NET Framework 4.6.1
  • .NET Framework 4.6
  • .NET Framework 4.5.2
  • .NET Framework 4.5.1
  • .NET Framework 4.5
  • .NET Framework 4
  • .NET Framework 3.5

Start Recording Example

C#
// There are properties on this object to change the quality recording
var audioRecorder = new BasicAudio.Recording();
audioRecorder.Filename = @"c:\test.wav";
audioRecorder.StartRecording();
VB.Net
' There are properties on this object to change the quality recording
Dim audioRecorder As New BasicAudio.Recording()
audioRecorder.Filename = "c:\test.wav"
audioRecorder.StartRecording()   

Stop Recording Example

C#
// File is written out to disk when this is called.  The filename property must already be set.
audioRecorder.StopRecording();
VB.Net
' File is written out to disk when this is called.  The filename property must already be set.
audioRecorder.StopRecording()

Playback Example

C#
var audioPlayer = new BasicAudio.AudioPlayer();
audioPlayer.Filename = @"c:\test.mp3";
audioPlayer.Play();
VB.Net
Dim audioPlayer As New BasicAudio.AudioPlayer()
audioPlayer.Filename = "c:\test.mp3"
audioPlayer.Play()    ' Pause and Stop methods available

Stop Recording Example

C#
// File is written out to disk when this is called.  The filename property must already be set.
audioRecorder.StopRecording();
VB.Net
' File is written out to disk when this is called.  The filename property must already be set.
audioRecorder.StopRecording()

Troubleshooting

On some systems latency might be an issue due to installed audio drivers. If this occurs and your sound card support ASIO drivers then it might be worth it to research ASIO for all. I have used this on two systems in the past with success in mitigating any lag.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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. 
.NET Core netcoreapp1.0 was computed.  netcoreapp1.1 was computed.  netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard1.3 is compatible.  netstandard1.4 is compatible.  netstandard1.5 is compatible.  netstandard1.6 is compatible.  netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net35 is compatible.  net40 is compatible.  net403 was computed.  net45 is compatible.  net451 is compatible.  net452 is compatible.  net46 is compatible.  net461 is compatible.  net462 is compatible.  net463 was computed.  net47 is compatible.  net471 is compatible.  net472 is compatible.  net48 is compatible.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen30 was computed.  tizen40 was computed.  tizen60 was computed. 
Universal Windows Platform uap was computed.  uap10.0 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 3.5

    • No dependencies.
  • .NETFramework 4.0

    • No dependencies.
  • .NETFramework 4.5

    • No dependencies.
  • .NETFramework 4.5.1

    • No dependencies.
  • .NETFramework 4.5.2

    • No dependencies.
  • .NETFramework 4.6

    • No dependencies.
  • .NETFramework 4.6.1

    • No dependencies.
  • .NETFramework 4.6.2

    • No dependencies.
  • .NETFramework 4.7

    • No dependencies.
  • .NETFramework 4.7.1

    • No dependencies.
  • .NETFramework 4.7.2

    • No dependencies.
  • .NETFramework 4.8

    • No dependencies.
  • .NETStandard 1.3

  • .NETStandard 1.4

  • .NETStandard 1.5

  • .NETStandard 1.6

  • .NETStandard 2.0

    • No dependencies.
  • .NETStandard 2.1

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on BasicAudio:

Package Downloads
VB_Extensions

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2023.11.15.1 283 11/15/2023
2022.11.30.1 752 11/30/2022
2021.11.9.1 1,085 11/9/2021
2021.5.3.1 786 5/3/2021
2020.11.10.1 2,861 11/11/2020
2019.11.19.1 601 11/20/2019
2019.4.5.1 682 4/5/2019

Version 2019.11.19.1

- Support for .NET Standard 2.1
- Support for .NET Frameworks 4.8

Version 2019.4.5.1

- Support for .NET Standard 1.3-2.0
- Support for .NET Frameworks 3.5-4.7.2
- Recording and Playback relies on the Windows API and thus not suited for UWP or non Windows desktop development.