diff --git a/sound/recorder/MainWindow.xaml.cs b/sound/recorder/MainWindow.xaml.cs index 515d31e44..df5d7976d 100644 --- a/sound/recorder/MainWindow.xaml.cs +++ b/sound/recorder/MainWindow.xaml.cs @@ -214,7 +214,7 @@ namespace OpenTXrecorder private void DataArrived(IntPtr data, int size) { Marshal.Copy(data, recordingBuffer, 0, size); - filewriter.Write(recordingBuffer); + filewriter.Write(recordingBuffer, size); } } diff --git a/sound/recorder/WaveIn.cs b/sound/recorder/WaveIn.cs index 2a7fc12c6..449cae4ad 100644 --- a/sound/recorder/WaveIn.cs +++ b/sound/recorder/WaveIn.cs @@ -119,10 +119,10 @@ namespace WaveLib filewriter.Write((uint)0); // chunkisize (filled in when we close) } - public void Write(byte[] data) + public void Write(byte[] data, int size) { - filewriter.Write(data); - audiobyteswritten += data.Length; + filewriter.Write(data, 0, size); + audiobyteswritten += size; } public void Close() diff --git a/sound/recorder/clsWaveProcessor.cs b/sound/recorder/clsWaveProcessor.cs index b03c2065a..da815f5a9 100644 --- a/sound/recorder/clsWaveProcessor.cs +++ b/sound/recorder/clsWaveProcessor.cs @@ -72,12 +72,11 @@ public class wavProcessor for (int ni = 0, m = startpos; m <= endpos; m++, ni++) newarr[ni] = arrfile[m]; - //write file + // write file back waout.DataLength = newarr.Length; - - WavFileWriter wfWriter = new WavFileWriter(@strPath, wain.SampleRate, wain.BitsPerSample, wain.Channels); - wfWriter.Write(newarr); - wfWriter.Close(); + WavFileWriter writer = new WavFileWriter(@strPath, wain.SampleRate, wain.BitsPerSample, wain.Channels); + writer.Write(newarr, newarr.Length); + writer.Close(); return true; }