C#利用winmm.dll中的mciSendString方法錄音

來源:互聯網
上載者:User
mciSendString是用來播放多媒體檔案的API指令,可以播放MPEG,AVI,WAV,MP3,等等

該函數有四個參數:
第一個參數:要發送的命令字串。字串結構是:[命令][裝置別名][命令參數].
第二個參數:返回資訊的緩衝區,為一指定了大小的字串變數.
第三個參數:緩衝區的大小,就是字元變數的長度.
第四個參數:回調方式,一般設為零
傳回值:函數執行成功返回零,否則返回錯誤碼

詳細內容可以參考(http://www.cnblogs.com/zrx401558287/archive/2008/11/28/1343160.html)

 

首先在代碼中引入這個API函數

 

Code
        [DllImport("winmm.dll", EntryPoint = "mciSendString", CharSet = CharSet.Auto)]
        public static extern int mciSendString(
         string lpstrCommand,
         string lpstrReturnString,
         int uReturnLength,
         int hwndCallback
        );

 

然後啟動錄音

 

Code
                mciSendString("close movie", "", 0, 0);
                mciSendString("open new type WAVEAudio alias movie", "", 0, 0);
                mciSendString("record movie", "", 0, 0);

 

錄音完成後關閉並儲存到一個檔案,比如c:\1.wav

 

Code
                mciSendString("stop movie", "", 0, 0);
                mciSendString("save movie j:\\1.wav", "", 0, 0);
                mciSendString("close movie", "", 0, 0);

 

ok,很簡單

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.