MediaCapture如何用来录制音频

时间:2013-07-05 14:00:48

标签: c++ windows audio microsoft-metro capture

我想捕捉麦克风并立即播放。我一直在寻找一种解决方案,如何在Windows 8下使用MediaCapture元素来捕获麦克风中的音频数据,但我只发现了如何捕获网络摄像头。如果有人能告诉我如何在播放之前修改数据,这将是惊人的。拜托,我渴望得到答案。答案是在c#还是c ++中无关紧要。

1 个答案:

答案 0 :(得分:0)

我为桌面应用程序写了这个,但同样的事情应该在任何地方都可以使用。

 private void RecordAudio()
    {
        var capture = new MediaCapture();
        var settings = new MediaCaptureInitializationSettings();
        settings.StreamingCaptureMode = StreamingCaptureMode.Audio;

        capture.InitializeAsync(settings).Completed = (info, status) =>
            {
                StorageFolder folder = KnownFolders.DocumentsLibrary;
                var op = folder.CreateFileAsync("sample.mp3", CreationCollisionOption.ReplaceExisting);

                op.Completed = (
                    i, s) =>
                    {
                        var file = i.GetResults();
                        var profile = MediaEncodingProfile.CreateMp3(AudioEncodingQuality.High);
                        capture.StartRecordToStorageFileAsync(profile, file);
                    };
            };

    }