feliwir / feliwir/SharpAudio

Null Reference Exception after disposing and re-initializing object

オープン
#21 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
C#
スター
194
フォーク
20
PR マージ指標
30日以内にマージされた PR はありません

説明

```
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

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。