You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
private bool doEmitSound(PlaySFX req, GameState state, Instant instant)
{
if (!allowSFX)
return true;
state.Messages.EmitMsg(new ConsoleInput($"Playing {req.Resource}"));
if (!soundboard.ContainsKey(req.Resource))
soundboard.Add(req.Resource, new SoundStream(AssetManager.FindFileStream(req.Resource), sfxEngine));
soundboard[req.Resource].Volume = (currentVolume * req.Volume);//Should be at most 1*1.
soundboard[req.Resource].Play();
return true;
}
This code plays the sound as expected the first time, but fails with a null reference exception when the volume property is modified or the play method is called. the second time regardless of being a new SoundStream or an existing SoundStream.
The text was updated successfully, but these errors were encountered:
Even the following is throwing the same null reference exception on second execution:
var ss = new SoundStream(AssetManager.FindFileStream(req.Resource), new SoundSink(sfxEngine, null), false);
ss.Volume = (currentVolume * req.Volume);
ss.Play();
return true;
Are there threading implications between the SoundEngine and SoundStream? For example, I am creating the AudioEngine on the primary thread, but this logic is being executed by an non primary thread.
This code plays the sound as expected the first time, but fails with a null reference exception when the volume property is modified or the play method is called. the second time regardless of being a new SoundStream or an existing SoundStream.
The text was updated successfully, but these errors were encountered: