public AudioRecorder(string streamSourceName, Common.SignalRecordingType recordingType, int recordingKickTime, WaveFormat sourceWaveFormat, WaveFormat fileWaveFormat, bool recordingEnabled)
{
_recordingType = recordingType;
switch (_recordingType)
{
case SignalRecordingType.Fixed:
{
RecordingKickTimeTicks = TimeSpan.FromMinutes(recordingKickTime).Ticks;
break;
}
default:
{
RecordingKickTimeTicks = TimeSpan.FromSeconds(recordingKickTime).Ticks;
break;
}
}
RecordingPrefix = RadioSignalLogger.MakeSourceFilePrefix(streamSourceName);
_sourceWaveFormat = sourceWaveFormat;
if (fileWaveFormat == null)
_fileWaveFormat = sourceWaveFormat;
else
_fileWaveFormat = fileWaveFormat;
_recordingEnabled = recordingEnabled;
if (_sourceWaveFormat.Equals(_fileWaveFormat))
{
_resampleStream = null;
_useResampler = false;
}
else
{
_resampleStream = new NAudio.Wave.Compression.AcmStream(_sourceWaveFormat, _fileWaveFormat);
_useResampler = true;
}
}