我正在开发TAPI应用程序。谷歌时,我发现了一篇不错的帖子http://www.codeproject.com/KB/IP/devangpro.aspx。但问题是,我没有在拨打电话时触发所有事件。我能够获得INPROGRESS和DISCONNECTD,但没有任何CONNECTED事件被触发(即使在文章提供的屏幕截图中,只有“拨号”和“断开连接”值存在,所以我假设即使是作者也有同样的问题)。 在我的例子中,整个程序逻辑基于CONNECTED和DISCONNECTED事件。 请帮我解决这个问题。
另外,我正在使用CISCO ATA盒来获取拨号音。我尝试使用传真/数据以及传真/数据/语音调制解调器。
答案 0 :(得分:0)
从代码示例中我可以看到,它通过VS.Net自动创建Interop包装器来使用TAPI3.dll
。但Microsoft不支持使用托管代码中的TAPI3。见this KB article:
由于TAPI 3.x组件对象模型(COM)接口的复杂性,Microsoft Visual Studio .NET创建的托管包装器不起作用。因此,您无法从托管代码调用TAPI功能。
微软目前没有计划发布TAPI互操作组件。
您必须使用围绕TAPI 3.x 的包装器才能在托管代码中使用它。为此,您可以使用JulMar's ITAPI3 wrapper。