private void buttonStartConversion_Click(object sender, RoutedEventArgs e) { if (textBoxInputFile.Text.Length == 0) { MessageBox.Show(Properties.Resources.ErrSpecifyInputWavFile); return; } if (textBoxOutputFile.Text.Length == 0) { MessageBox.Show(Properties.Resources.ErrSpecifyOutputWavFile); return; } string pathRead = textBoxInputFile.Text; string pathWrite = textBoxOutputFile.Text; WavRWLib2.WavReader r = new WavRWLib2.WavReader(); using (var br = new BinaryReader(File.Open(pathRead, FileMode.Open, FileAccess.Read, FileShare.Read))) { if (!r.ReadHeaderAndSamples(br, 0, -1)) { string s = string.Format("エラー: ファイル読み込み失敗 {0}", pathRead); MessageBox.Show(s); Log(s + "\n"); return; } } Log(string.Format("WAVファイル読み込み。{0}\n 読み込んだファイルのfmt subchunkSize = {1}\n", pathRead, r.FmtSubChunkSize)); WavRWLib2.WavWriter w = new WavRWLib2.WavWriter(); string directory = System.IO.Path.GetDirectoryName(pathWrite); if (!System.IO.Directory.Exists(directory)) { System.IO.Directory.CreateDirectory(directory); } using (var bw = new BinaryWriter(File.Open(pathWrite, FileMode.Create, FileAccess.Write, FileShare.Write))) { w.Write(bw, r.NumChannels, r.BitsPerSample, r.ValidBitsPerSample, r.SampleRate, r.SampleValueRepresentationType, r.NumFrames, r.GetSampleArray()); } Log(string.Format("WAVファイル書き込み終了。{0}\n", pathWrite)); }