I have more than 50 sound files to deal with. My code simply starts the sound playing. My logic needs to detect when it has stopped playing, not if it is playing.
The way things are behaving, any sound.play is false until you execute its play command. Once you do, it appears the .play property never changes to false, if after the sound has stopped on its own.
So, the thread doesn't matter. Once I start a sound playing, my code needs to wait until it has completed before moving on. That is why I am using a Do Loop. It is looping as long as Sound.play is true.
The only time after playing it reports false, is if I force the stop command.
The only way to use that approach is if I know when it should stop based upon its length; which there is nothing that will give me the length of the sound being played. Unless you know of such a method.
So, try the example code I gave you and see if you experience the same result.
Execute a Sound.Play command and then check for Sound.Playing = False, instead of true.
Russell B. Davis/aerostudios