我写了一个程序是两台计算机链接后来通话,同时需要把这通话内容录下来,但是我发现两台计算机通话本来就占用了MICOR的设备,录音也需要MICORPHONE,结果录音就录不下来,不知道有没有办法解决。

解决方案 »

  1.   

    通讯用的TAPI,录音用下面的代码,只是开始部分
    MCI_OPEN_PARMS     mciOpen ;
        MCI_RECORD_PARMS   mciRecord ;
    MCIERROR                dwError;
    mciOpen.dwCallback        = 0 ;
        mciOpen.wDeviceID         = 0 ;
        mciOpen.lpstrDeviceType   = TEXT ("waveaudio") ;
        mciOpen.lpstrElementName  = TEXT ("") ; 
        mciOpen.lpstrAlias        = NULL ;
        dwError = mciSendCommand (0, MCI_OPEN,MCI_WAIT | MCI_OPEN_TYPE | MCI_OPEN_ELEMENT,(DWORD)&mciOpen);
    if (dwError != 0)
        {
            ShowError (hwnd, dwError) ;
            return FALSE ;
        }
            // Save the Device ID
            wDeviceID = mciOpen.wDeviceID ;        // Begin recording
            mciRecord.dwCallback  = (DWORD) hwnd ;
            mciRecord.dwFrom      = 0 ;
            mciRecord.dwTo        = 0 ;
    mciSendCommand(wDeviceID, MCI_RECORD, MCI_NOTIFY,(DWORD)&mciRecord);
    return TRUE;
      

  2.   

    是不是因为tapi程序已经打开了 设备,然后我用这个程序再打开设备就会出错?
      

  3.   

    有人在:)
    应该不会存在你说的问题.录音的时候可以录制麦克发出来的声音,也可以录制机器本身的声音.你要确定你是不是打开了系统音量控制中麦克风的选项.录制和说话并存没有冲突.你的这个程序在vc知识库上有个例子,你可以参考一下http://www.vckbase.com/document/viewdoc/?id=232