NAudio

NAudio är ett bibliotek för att spela upp ljud, och som funkar i konsolen.

Setup

Lägg till NAudio via NuGet Gallery.

Lägg till de ljudfiler du vill använda i din csproj som resursfiler.

<ItemGroup>
  <Content Include="music\*.mp3" CopyToOutputDirectory="Always" />
</ItemGroup>

Skriv using NAudio.Wave högst upp i ditt program.

Komplett exempel

using NAudio.Wave;

AudioFileReader reader = new AudioFileReader("music/BitBitLoop.mp3");
WaveOutEvent output = new();

output.Init(reader);
output.Play();

while (output.PlaybackState == PlaybackState.Playing)
{
  Thread.Sleep(100);
}

AudioFileReader

En klass som används för att läsa in ljudfiler. Varje instans av AudioFileReader är kopplad till en specifik ljudfil, som bestäms när instansen skapas.

currentTime

En TimeSpan som beskriver var i ljudfilen uppspelningen är just nu.

while (output.PlaybackState == PlaybackState.Playing)
{
  Thread.Sleep(100);
  Console.WriteLine(reader.CurrentTime);
}

WaveOutEvent

En klass som används för att spela upp ljudfiler.

Init()

Initierar objektet med en källa till ljuddata (ofta en AudioFileReader).

AudioFileReader reader = new AudioFileReader("music/BitBitLoop.mp3");
WaveOutEvent output = new();
output.Init(reader);

Play()

Påbörjar uppspelningen.

output.Play();

Pause()

Pausar uppspelningen

output.Pause();

Stop()

Stoppar uppspelningen

output.Stop();

PlaybackState()

Läser av WaveOutEventets nuvarande läge. Resultatet kommer att vara någon av PlaybackState.Playing, PlaybackState.Stopped och PlaybackState.Paused.

while (output.PlaybackState == PlaybackState.Playing)
{
  Thread.Sleep(100);
  Console.WriteLine(reader.CurrentTime);
}

Last updated

Was this helpful?