private void AudioWaveform_Click(object sender, EventArgs e) { if (this.audioVisualizer.WavePeaks == null) { if (string.IsNullOrEmpty(this.VideoFileName)) { this.buttonOpenVideo_Click(sender, e); if (string.IsNullOrEmpty(this.VideoFileName)) { return; } } this.mediaPlayer.Pause(); using (var addWaveform = new AddWaveform()) { var peakWaveFileName = GetPeakWaveFileName(this.VideoFileName); var spectrogramFolder = GetSpectrogramFolder(this.VideoFileName); addWaveform.Initialize(this.VideoFileName, spectrogramFolder, this._videoAudioTrackNumber); if (addWaveform.ShowDialog() == DialogResult.OK) { addWaveform.WavePeak.WritePeakSamples(peakWaveFileName); var audioPeakWave = new WavePeakGenerator(peakWaveFileName); audioPeakWave.GenerateAllSamples(); audioPeakWave.Close(); this.audioVisualizer.WavePeaks = audioPeakWave; if (addWaveform.SpectrogramBitmaps != null) { this.audioVisualizer.InitializeSpectrogram(addWaveform.SpectrogramBitmaps, spectrogramFolder); } this.timerWaveform.Start(); } } } }
private void AudioWaveformDragDrop(object sender, DragEventArgs e) { var files = (string[])e.Data.GetData(DataFormats.FileDrop); if (files.Length != 1) { MessageBox.Show(this._language.DropOnlyOneFile); return; } string fileName = files[0]; string ext = Path.GetExtension(fileName).ToLowerInvariant(); if (ext != ".wav") { if (this.audioVisualizer.WavePeaks == null && (Utilities.GetMovieFileExtensions().Contains(ext) || ext == ".mp3")) { this.VideoFileName = fileName; this.AudioWaveform_Click(null, null); this.OpenVideo(this.VideoFileName); return; } try { var fi = new FileInfo(fileName); if (fi.Length < 1024 * 500) { var lines = new List<string>(File.ReadAllLines(fileName)); foreach (SubtitleFormat format in SubtitleFormat.AllSubtitleFormats) { if (format.IsMine(lines, fileName)) { this.OpenSubtitle(fileName, null); return; } } } } catch { } } if (string.IsNullOrEmpty(this.VideoFileName)) { this.buttonOpenVideo_Click(null, null); } if (this.VideoFileName == null) { return; } if (ext != ".wav") { MessageBox.Show(".wav only!"); return; } using (var addWaveform = new AddWaveform()) { string spectrogramFolder = GetSpectrogramFolder(this.VideoFileName); addWaveform.InitializeViaWaveFile(fileName, spectrogramFolder); if (addWaveform.ShowDialog() == DialogResult.OK) { string peakWaveFileName = GetPeakWaveFileName(this.VideoFileName); addWaveform.WavePeak.WritePeakSamples(peakWaveFileName); var audioPeakWave = new WavePeakGenerator(peakWaveFileName); audioPeakWave.GenerateAllSamples(); this.audioVisualizer.WavePeaks = audioPeakWave; this.timerWaveform.Start(); } } }