0

C#.NET で TAPI を使用して自動応答マシンを作成しようとしています。

私はtapi3_devサンプルを使用して動作します.このサンプルはWindows XPで動作しますが、Windows 7ではすべて正常です(エラーや例外はありません)が、オーディオを録音できるだけでサウンド再生はありません。

私を助けてください。


私のコード::

case TAPI3Lib.ADDRESS_EVENT.AE_RINGING: this.PlayVoice(CallInfo);

...

 private void PlayVoice(TAPI3Lib.ITCallInfo iTCallInfo)
        {
            try
            {
                //the supported file extensions are .avi and .wav.   http://msdn.microsoft.com/en-us/library/ms730457.aspx
                TAPI3Lib.ITBasicCallControl2 iTBasicCallControl2 = (TAPI3Lib.ITBasicCallControl2)iTCallInfo;
                this.selectedTerminal = iTBasicCallControl2.RequestTerminal(TAPI3Lib.TapiConstants.CLSID_String_FilePlaybackTerminal, TAPI3Lib.TapiConstants.TAPIMEDIATYPE_AUDIO, TAPI3Lib.TERMINAL_DIRECTION.TD_CAPTURE);
                TAPI3Lib.ITMediaPlayback iTMediaPlayback = (TAPI3Lib.ITMediaPlayback)this.selectedTerminal;
                object[] playList = new object[1];
                playList[0] = @"C:\ModemLog\7533f717-6cc5-41d5-9845-6983cff85e4b.avi";
                //playList[0] = @"C:\Users\Abedi\Desktop\Anghezi.wav";
                //playList[0] = @"C:\ProgramData\Venta\VentaFax & Voice 6\Service\greet1.wav";
                iTMediaPlayback.PlayList = playList;
                iTBasicCallControl2.SelectTerminalOnCall(this.selectedTerminal);
                this.iTMediaControl = (TAPI3Lib.ITMediaControl)this.selectedTerminal;
                if (iTCallInfo.CallState == TAPI3Lib.CALL_STATE.CS_OFFERING)
                    iTBasicCallControl2.Answer();
                this.iTMediaControl.Start();
                (selectedTerminal as TAPI3Lib.ITBasicAudioTerminal).Volume = 0;
            }
            catch (Exception exception)
            {
                this.Log(exception.Message, "Exception in PlayVoice");
                this.WriteLine(exception.Message);
                this.buttonDisconnect_Click(null, EventArgs.Empty);
            }
        }
4

1 に答える 1

2

コードは Windows サービスで実行されていますか? Windows 7 での Windows サービスからのオーディオ コントロールには、既知の問題があります。

于 2012-07-31T22:56:09.037 に答える