示例#1
0
        public override async Task Start()
        {
            MediaRecorder = await MediaCaptureHandler.Init(MediaCategory.Media, AudioProcessing.Raw);

            // Start Recognition
            await this.StartRecognition();

            // Start frame recognizer
            var frameSources = MediaRecorder.FrameSources.Where(x => x.Value.Info.MediaStreamType == MediaStreamType.Audio);
            var source       = frameSources.First().Value;

            frameReader = await MediaRecorder.CreateFrameReaderAsync(source);

            frameReader.AcquisitionMode = MediaFrameReaderAcquisitionMode.Buffered;
            frameReader.FrameArrived   += OnFrameArrived;

            messageStream = new InMemoryRandomAccessStream();
            await messageStream.WriteAsync(Utils.Audio.CreateWavHeader().AsBuffer());

            var status = await frameReader.StartAsync();

            if (status != MediaFrameReaderStartStatus.Success)
            {
                throw new Exception("The MediaFrameReader couldn't start.");
            }
        }
示例#2
0
        public async Task Start()
        {
            Capture = await MediaCaptureHandler.Init(MediaCategory, AudioProcessingType);

            Profile       = MediaEncodingProfile.CreateWav(Quality);
            Profile.Audio = AudioEncodingProperties.CreatePcm(SampleRate, ChannelCount, BitsPerSample);

            memoryBuffer = new InMemoryRandomAccessStream();
            await Capture.StartRecordToStreamAsync(Profile, memoryBuffer);
        }
        public override async Task Start()
        {
            MediaRecorder = await MediaCaptureHandler.Init(MediaCategory.Media, AudioProcessing.Default);

            // Start Recognition
            await this.StartRecognition();

            // Start Pushing to Recognition
            messageStream = new MessageSendingStream(pushStream);
            await MediaRecorder.StartRecordToStreamAsync(Profile, messageStream);
        }