/// <summary> /// Call this method to insert the Audio Volume filter into your graph. Input pin is "In" and output pin is "Out" /// </summary> protected void AddAudioVolumeFilter() { _audioVolumeFilter = FilterGraphTools.AddFilterByName(_graphBuilder, FilterCategory.LegacyAmFilterCategory, @"FC Volume Filter"); _audioVolumeFilterInterface = (IFCVolumeMute)_audioVolumeFilter; MaxVolume = 0; MinVolume = -40; }
protected virtual void Dispose(bool disposeManaged) { GC.SuppressFinalize(this); Process currentProc = Process.GetCurrentProcess(); currentProc.PriorityClass = ProcessPriorityClass.Normal; _hostControl.Paint -= new PaintEventHandler(PaintHandler); _hostControl.Resize -= new EventHandler(ResizeMoveHandler); _hostControl.Move -= new EventHandler(ResizeMoveHandler); ForceReleaseComObject(_captureFilter); _captureFilter = null; ForceReleaseComObject(_fileWriter); _fileWriter = null; ForceReleaseComObject(_mediaControl); _mediaControl = null; ForceReleaseComObject(_graphBuilder); _graphBuilder = null; ForceReleaseComObject(_captureGraphBuilder); _captureGraphBuilder = null; ForceReleaseComObject(_videoRender); _videoRender = null; ForceReleaseComObject(_audioRender); _audioRender = null; ForceReleaseComObject(_audioVolumeFilter); _audioVolumeFilter = null; _audioVolumeFilterInterface = null; ForceReleaseComObject(_vmrWindowlessControl); _vmrWindowlessControl = null; DsUtils.FreeAMMediaType(_emptyAMMediaType); }