if (audioFile == null || audioFile.FileName != currentPath)
{
outputDevice?.Stop(); // Clean up any existing resources
audioFile = new AudioFileReader(currentPath);
audioFile.CurrentTime = playbackTime;
outputDevice = new WaveOutEvent();
outputDevice.Init(audioFile);
outputDevice.PlaybackStopped += OnPlaybackStopped;
}
if (audioFile == null || audioFile.FileName != currentPath)
{
outputDevice?.Stop(); // Clean up any existing resources
audioFile = new AudioFileReader(currentPath);
audioFile.CurrentTime = playbackTime;
outputDevice = new WaveOutEvent();
outputDevice.Init(audioFile);
outputDevice.PlaybackStopped += OnPlaybackStopped;
}