Exemple #1
0
        private void InitializeInstance()
        {
            _audioInput = new CSCoreAudioInput();
            _audioInput.Initialize();

            _audioBuffer = new AudioBuffer(4096); // Working with ~93ms -
            _audioInput.DataAvailable += (left, right) => _audioBuffer.Put(left, right);

            _processors.Add(new FourierSpectrumProvider(_audioBuffer));

            foreach (IAudioProcessor processor in _processors)
            {
                processor.Initialize();
            }
        }
Exemple #2
0
        // ====================================================================
        #region CONSTRUCTION / DISPOSAL
        // ====================================================================
        /// <summary>
        /// Creates and returns a new agent using the provided dependencies.
        /// </summary>
        ///
        /// <param name="chatroomNetwork">The chatroom network implementation
        /// for chatroom access and sending data to peers in a chatroom.
        /// </param>
        ///
        /// <param name="audioInput">The source of the outgoing audio</param>
        ///
        /// <param name="audioOutputFactory">
        /// The factory used for creating <see cref="IAudioOutput"/> instances
        /// for peers so that incoming audio from peers can be played.
        /// </param>
        public ChatroomAgent(
            IChatroomNetwork chatroomNetwork,
            IAudioInput audioInput,
            IAudioOutputFactory audioOutputFactory
            )
        {
            AudioInput = audioInput ??
                         throw new ArgumentNullException(nameof(audioInput));

            Network = chatroomNetwork ??
                      throw new ArgumentNullException(nameof(chatroomNetwork));

            AudioOutputFactory = audioOutputFactory ??
                                 throw new ArgumentNullException(nameof(audioOutputFactory));

            CurrentMode  = ChatroomAgentMode.Unconnected;
            MuteOthers   = false;
            MuteSelf     = false;
            PeerSettings = new Dictionary <short, ChatroomPeerSettings>();
            PeerOutputs  = new Dictionary <short, IAudioOutput>();

            Init();
        }
 public VisualizerConfig(IAudioInput input, IVisualizingOutput output, IAudioOutput passthroughOutput = null)
 {
     Input             = input;
     Output            = output;
     PassthroughOutput = passthroughOutput;
 }