public void Play(string filename) { if (aimp != null) { aimp.Dispose(); aimp = null; Play(filename); } else { aimp = new AimpRemote(); if (!startAimp(filename)) { return; } aimp.TrackInfoChanged += (s, e) => { if (aimp == null) { return; } doubleEvent = (aimp.PlayerState == playerState) ? true : false; playerState = aimp.PlayerState; if (aimp.PlayerState == PlayerState.Stopped && !doubleEvent) { handler(); } }; } }
private void closeWaveOut() { if (aimp != null) { aimp.Stop(); } if (aimp != null) { aimp.Dispose(); aimp = null; } }