When calling Sound:Play() while Sound.Playing is true, the sound’s PlaybackRegion is ignored if set and resets to 0 instead of PlaybackRegion.Min.
(LoopRegion has no effect on this and the bug still occurs regardless of its value)
Repro
Create a Sound object
Set its PlaybackRegionsEnabled property to true and its PlaybackRegion.Min to any value
Call Sound:Play() on it twice, the second call will reset TimePosition to 0 as Playing is true
Demonstration
Both sounds should be identical, however the second call resets TimePosition.
Hey nothing_1649, thanks for the repro file! I think this is occurring due to a bug in :Play()'s “restart from the last set-time” behavior; it seems to be incorrectly replaying from the last set-time even ifPlaybackRegion.Min is bigger.
We’ll look into it, but for the time being, if you add a call to :Stop() immediately before the call to :Play(), does this produce the behavior you’re after?