Esempio n. 1
0
        public frmAudioSettings(AudioCapability ac, frmAVDevices frmAV)
        {
            InitializeComponent();

            Debug.Assert(ac != null);
            Debug.Assert(ac.AudioCaptureGraph != null);
            Debug.Assert(frmAV != null);

            this.ac = ac;
            this.acg = ac.AudioCaptureGraph;
            this.frmAV = frmAV;
        }
Esempio n. 2
0
        /// <summary>
        /// Creates the actual FilgraphManager with the chosen microphone
        /// </summary>
        private void CreateAudioGraph(FilterInfo fi)
        {
            Debug.Assert(cg == null);

            if (DVSource.IsDVSourceWithAudio(fi)) {
                cg = DVCaptureGraph.GetInstance(fi);
                Log(((DVCaptureGraph)cg).DVSource.Dump());
            }
            else {
                // Create the graph, which creates the source filter
                cg = new AudioCaptureGraph(fi);
                Log(((AudioCaptureGraph)cg).AudioSource.Dump());
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Creates the actual FilgraphManager with the chosen microphone
        /// </summary>
        private void CreateAudioGraph(FilterInfo fi)
        {
            Debug.Assert(acg == null);

            // Create the graph, which creates the source filter
            cg = new AudioCaptureGraph(fi);
            Log(acg.AudioSource.Dump());
        }
Esempio n. 4
0
 public void RenderAndRunAudio(AudioCaptureGraph acg)
 {
     RenderAndRunAudio(acg, ckPlayAudio.Checked);
 }
Esempio n. 5
0
        private void DeactivateAudioCapability()
        {
            RenderAndRunAudio(acg, false);
            acg = null;

            ac.DeactivateMicrophone();
        }
Esempio n. 6
0
        private void ActivateAudioCapability(FilterInfo fi)
        {
            ac = new AudioCapability(fi);
            ac.SetLogger(new AVLogger(Log));
            ac.ActivateMicrophone();
            acg = ac.AudioCaptureGraph;

            RenderAndRunAudio(acg, ckPlayAudio.Checked);
        }
Esempio n. 7
0
        public void RenderAndRunAudio(AudioCaptureGraph acg, bool playIt)
        {
            if(acg == null)
            {
                throw new ArgumentNullException("Can't render an audio graph without an audio capture device");
            }

            if(playIt)
            {
                Log("Playing audio (render and run graph) - " + acg.Source.FriendlyName);

                // Re-add the renderer in case they changed it since the last
                // time they played the audio
                acg.AddRenderer((FilterInfo)cboSpeakers.SelectedItem);

                acg.Run();
            }
            else
            {
                Log("Stop audio (stop and unrender graph) - " + acg.Source.FriendlyName);

                acg.Stop();
                acg.RemoveRenderer();
            }

            Log(FilterGraph.Debug(acg.IFilterGraph));
        }