public void openAudioFileToolStripMenuItem_Click(object sender, EventArgs e) { //for second load music OpenFileDialog open = new OpenFileDialog(); open_temp = open; open.Filter = "(*.wav;*.mp3)| *.wav; *.mp3"; if (open.ShowDialog() != DialogResult.OK) { return; } if (audio_player != null && audio_player.stop_flag == false) { audio_player.StopPlaying(); } Get_audio_file_information_and_refresh_reader(); sampling_rate = Audio_reader.WaveFormat.SampleRate; int bits_per_sample = Audio_reader.WaveFormat.BitsPerSample; audio_channel = Audio_reader.WaveFormat.Channels; int buflen = (int)(Math.Floor((double)Audio_reader.Length)); //refresh effect parameter equalizer.sampling_rate = sampling_rate; equalizer.samples_per_frame = Samples_per_frame; equalizer.audio_channels = audio_channel; equalizer.update_coef(); equalizer.init_memory(); three_band_drc.update_music_information(sampling_rate, Samples_per_frame, audio_channel); real_time_fft.ini_parameter(sampling_rate, Samples_per_frame, audio_channel); // bgw_play = new BackgroundWorker(); audio_player = new audio_player_with_effect_class(real_time_fft, three_band_drc, equalizer, bgw_play, Audio_reader, buflen, In_total_byte_per_frame, Samples_per_frame); bgw_play.DoWork += new DoWorkEventHandler(bgw_start_playing); bgw_play.ProgressChanged += new ProgressChangedEventHandler(bgw_get_current_time); bgw_play.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bgw_run_worker_complete); bgw_play.WorkerReportsProgress = true; bgw_play.WorkerSupportsCancellation = true; Label_current_time.Text = (string)"00:00"; trackbar_playing_time.Value = 0; start_playing_button.Enabled = true; Pause_button.Enabled = false; stop_button.Enabled = false; volume.Enabled = true; volume_UI = volume.Value; audio_player.volume = (float)(((double)volume_UI) / 100); peak_meter.Value = 0; }