feliwir / feliwir/SharpAudio

Null Reference Exception after disposing and re-initializing object

Open
#21 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
194
Forks
20
PR merge metrics
No merged PRs in 30d

Description

```
if (!String.IsNullOrEmpty(_nextSongToPlay))
{
if (activeMusic!=null && activeMusic.State== SoundStreamState.Playing)
{
activeMusic.Stop();
activeMusic.Dispose();
}
activeMusic = new SoundStream(System.IO.File.OpenRead(_nextSongToPlay), musicEngine);
System.Threading.Thread.Sleep(100);
activeMusic.Volume = currentVolume;
activeMusic.Play();
_nextSongToPlay = null;
}
```

It seems that there is some kind of race condition that is triggered by calling the activeMusic.Stop(); method... without putting a System.Threading.Thread.Sleep setting the volume on the activeMusic soundstream causes a null exception to be thrown.

This exception occurs if the activeMusic soundstream is or is not disposed, but only if it was not null before creating the New soundStream

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.