3

C#プログラムを搭載したWindows7を搭載したPCからオーディオをキャプチャする必要があります。20kHzまでのすべての周波数を取得する必要があります。あなたはそれをする方法があるかどうか知っていますか?

4

3 に答える 3

4

winmm.dll api 関数を使用してみてください。ここに簡単な例があります。

    using System;
    using System.Runtime.InteropServices;
    using System.Threading;

    namespace MicrophoneTest
    {
        class Program
        {

            [DllImport("winmm.dll")]
            private static extern int mciSendString(string MciComando, string MciRetorno, int MciRetornoLeng, int CallBack);

            static void Main(string[] args)
            {
                //create Test alias
                mciSendString("open new type waveaudio alias Test", null, 0, 0);

                //start
                mciSendString("record Test", null, 0, 0);

                Thread.Sleep(3000);

                //pause
                mciSendString("pause Test", null, 0, 0);

                //save
                mciSendString("save Test " + "test.wav", null, 0, 0);
                mciSendString("close Test", null, 0, 0);

                //press any key
                Console.ReadKey();
            }
        }
    }

関数の署名MSDN: mciSendString 関数.

コマンドのリストMSDN: コマンド文字列

于 2016-08-04T15:25:29.160 に答える
3

GitHub https://github.com/naudio/NAudioで NAudio ライブラリを確認できます。

NAudio を使用してマイク入力を録音するための優れたプロジェクトは、http://voicerecorder.codeplex.com/ にあります

于 2012-06-05T08:47:53.803 に答える
2

私はあなたを助けることができるいくつかのリンクを見つけました

http://www.codeproject.com/Articles/2615/DirectShow-NET にアクセスしてください。またはhttp://www.codeproject.com/Articles/4889/A-full-duplex-audio-player-in-C-using-the-waveIn-w ?

または、Matalab を使用して、Liydos dll を使用して .Net とリンクすることもできます

于 2012-06-05T08:45:21.700 に答える