Example #1
0
        public ThroughputViewModel(IDBClientService dBClientService, IDataFileNode dn)
        {
            LoadedCommand = new DelegateCommand <Window>(OnLoaded);

            _dbClientService = dBClientService;
            _dataFileNode    = dn;

            _throughputdata = _dbClientService.getTimeData(_dataFileNode, out intdata);
            _rmsData        = _dbClientService.getRMS(dn.Id);

            SamplesALLT     = _throughputdata[0].Length / dn.fs;
            MediaPlayCurPos = 0;

            int len = (int)(intdata[0].Length * 2) + 36;

            ValueTypeConverter.Int32ToByteArray(ref len, ref waveHeader, 4);
            len -= 36;
            ValueTypeConverter.Int32ToByteArray(ref len, ref waveHeader, 40);
            int fs = (int)dn.fs;

            ValueTypeConverter.Int32ToByteArray(ref fs, ref waveHeader, 24);
            int rate = 1 * fs * 2;

            ValueTypeConverter.Int32ToByteArray(ref rate, ref waveHeader, 28);
            Int16 block = 1 * 16 / 8;

            ValueTypeConverter.Int16ToByteArray(ref block, ref waveHeader, 32);

            _wavefn         = dn.filename + dn.uploadDate.Ticks + ".wav";
            _mplayer        = new MediaPlayer();
            _mplayer.Volume = 1;

            _mplayer.MediaEnded  += _mplayer_MediaEnded;
            _mplayer.MediaFailed += _mplayer_MediaFailed;
            _mplayer.MediaOpened += _mplayer_MediaOpened;

            PlayPauseCommand = new DelegateCommand <object>(OnPlayPause);
            StopCommand      = new DelegateCommand <object>(OnStop);
        }