ITStream::SelectTerminal 方法 (tapi3if.h)

SelectTerminal 方法选择流上的 ITTerminal 对象。

语法

HRESULT SelectTerminal(
  [in] ITTerminal *pTerminal
);

参数

[in] pTerminal

指向所选终端的 IT 终端 接口的指针。

返回值

此方法可以返回其中一个值。

含义
S_OK
方法成功。
E_POINTER
pTerminal 参数不是有效的指针。
E_OUTOFMEMORY
内存不足,无法执行操作。
TAPI_E_MAXTERMINALS
流中已选择多个终端,但无法进行媒体混合或拆分。
TAPI_E_INVALIDTERMINAL
所选终端无效。

注解

无论传输是否处于允许其流式传输媒体的状态,都可以随时选择终端。 如果传输处于允许它流式传输媒体的状态,并且应用程序未成功调用流中的 ITStream::P auseStreamITStream::StopStream ,或者最近成功为此流调用 ITStream::StartStream ,而不是成功为此流调用 ITStream::P auseStreamITStream::StopStream ,则流式处理会在选择终端后立即自动启动。 如果在传输进入可以流式传输媒体的状态之前在流中选择了某个终端,并且没有对 StopStreamPauseStream 进行后续调用,则当传输进入可以流式传输媒体的状态时,该流会自动启动。

CME_STREAM_ACTIVE 事件是在流式处理实际启动时生成的,该事件可能晚于 SelectTerminal 调用。 当流式处理实际失败(也可能晚于 SelectTerminal 调用)时,将生成CME_STREAM_FAIL或CME_TERMINAL_FAIL事件。

仅当 ITTerminal::get_MediaType的结果与 ITStream::get_MediaType 匹配时,才能在流中选择终端。 此外,某些 MSP 可能需要 在 ITTerminal::get_DirectionITStream::get_Direction 之间进行匹配,尽管接口不会强制执行此操作。

某些 MSP 可能不允许在同一流上同时选择超过一定数量的终端(通常为一个),但接口本身不会强制实施任何此类限制。 在同一个流上一次选择多个终端很有用,例如,在一对扬声器上收听流时,允许将传入音频流录制到文件中。

给定的终端只能选择在一个流上。

要求

要求
目标平台 Windows
标头 tapi3if.h (包括 Tapi3.h)

另请参阅

ITStream

媒体服务提供程序接口 (MSPI)