public void ChangeCurrentTime(TimeSpan timeSpan) {
lock (_audioFileReaderLock) {
audioFileReader.CurrentTime = timeSpan;
}
}
Changing the CurrentTime of audioFileReader using the above code will cause the CurrentTime returned by audioFileReader to lose synchronization with the audio actually played by waveOutEvent (the returned CurrentTime is usually a few seconds ahead of the audio). This issue occurs with all the formats I tested (mp3, flac, aiff) except for wav.