コード例 #1
0
        /// <summary>
        /// This should be
        /// </summary>
        protected async Task OnStartListeningToAudio(MouseEventArgs e)
        {
            await AudioInterop.StartAudioListenAsync(@delegate : this);

            _centerButtonDivClass   = "centerButtonDivHide";
            _centerButtonDivBgClass = "centerButtonDivHide";
        }
コード例 #2
0
        public Task OnAudioBufferReceived(object audioBuffer32bitJson)
        {
            var buffer = AudioInterop.
                         ConvertJSFloat32ArrayToManaged(audioBuffer32bitJson, AudioAmplify);

            OnProcessAudioBuffer(buffer);

            if (_bFirstRenderHandled)
            {
                OnAudioBufferProcessed();
            }

            return(Task.CompletedTask);
        }
コード例 #3
0
        protected override async Task OnInitializedAsync()
        {
            // shut down audio if it's currently running
            if (await AudioInterop.HasAudioListenStartedAsync())
            {
                await AudioInterop.StopAudioListenAsync();
            }

            // initialize audio
            await AudioInterop.InitializeAudioListenAsync(
                inputChannels : 1, sampleRate : SampleRate, bufferSize : BufferSize);

            // start listening for resize events
            await SizeInterop.StartNotifyResizeEventAsync(this);

            await base.OnInitializedAsync();
        }
コード例 #4
0
        public Task OnAudioBufferReceived(object audioBuffer32bitJson)
        {
            var sw = new Stopwatch();

            sw.Start();

            var buffer = AudioInterop.
                         ConvertJSFloat32ArrayToManaged(audioBuffer32bitJson, AudioAmplify);

            _audioFilter.CreateSpectrum(buffer);

            _spectrumBuffer ??= new double[SpectrumSize];
            _audioFilter.CompressPreviousSpectrum(_spectrumBuffer, 0,
                                                  _audioFilter.MaximumBandValue / 2); // we don't care about the upper-half of the bands

            sw.Stop();

            if (_bFirstRenderHandled)
            {
                OnAudioBufferProcessed(sw.ElapsedMilliseconds);
            }

            return(Task.CompletedTask);
        }