媒体访问
与 TAPI 3 (COM) 相比,TAPI 2.2 (TAPI/C) 的媒体功能有所不同,这主要是因为 COM API 可以访问媒体服务提供商 (MSP) 。 有关 MSP 的详细信息,请参阅 关于媒体服务提供程序 (MSP) 。 有关媒体流操作的详细信息,请参阅 媒体控制。
应用程序的两个最重要的概念是媒体类型 (或模式) 和流。 类型是传输数据的形式。 有关详细信息和 TAPI 定义的类型列表,请参阅 LINEMEDIAMODE_常量。 媒体流是实际数据流。 MSP 可以提供对流的直接访问。 TAPI 2.2 应用程序具有一些访问权限,但主要引用其他 API 来实现此类控制。
这些 API 包括波形 API、Comm API 和媒体控制接口 (MCI) 。 波形 API 用于多媒体编程,Comm API 是平台软件开发工具包 (SDK) 提供的通信功能集,MCI 提供用于控制媒体设备的高级通用接口。
例如,对于线路设备,应用程序可以使用 TAPI 2.2 建立与另一个工作站的连接。 建立连接后,应用程序可以使用关联设备上的波形 API (或 MCI Waveaudio API) 播放 (发送) 并录制 (通过连接接收) 音频数据。 同样,如果连接媒体流来自调制解调器,应用程序将使用通信 API 的调制解调器配置扩展来控制媒体流。
若要为 TAPI 2.2 提供对电话或线路设备上的呼叫的媒体流访问,服务提供商必须同时实现电话服务 SPI 和相应的媒体流 SPI 或设备驱动程序接口 (DDI) 。 服务提供商可以同时支持线路和电话。
由于这些设备类和媒体流操作彼此独立运行,因此必须在应用程序级别协调其使用。 共享调用和媒体流的多个应用程序可能需要在应用程序级别协调其活动,以防止 TAPI 和媒体流 API 的冲突使用。
TAPI 报告媒体流类型的变化, (语音、传真、数据调制解调器等) 到参与的应用程序。 此过程有时称为 呼叫分类。 用于确定媒体流类型的机制特定于服务提供商。 例如,服务提供商可以筛选媒体流中具有媒体类型特征的能量或音调,或者可能会使用独特的响铃、通过网络在消息中交换的数据,或有关呼叫方或呼叫 ID 的知识来做出此决定。