Метод ITStream::SelectTerminal (tapi3if.h)
Метод SelectTerminal выбирает объект ITTerminal в потоке.
Синтаксис
HRESULT SelectTerminal(
[in] ITTerminal *pTerminal
);
Параметры
[in] pTerminal
Указатель на интерфейс ITTerminal выбранного терминала.
Возвращаемое значение
Этот метод может возвращать одно из этих значений.
Значение | Значение |
---|---|
|
Метод успешно выполнен. |
|
Параметр pTerminal не является допустимым указателем. |
|
Для выполнения операции недостаточно памяти. |
|
В потоке выбрано несколько терминалов, но смешивание или разделение мультимедиа невозможно. |
|
Выбранный терминал недопустим. |
Комментарии
Терминалы можно выбрать в любое время независимо от того, находится ли транспорт в состоянии, позволяющем ему выполнять потоковую передачу мультимедиа. Если транспорт находится в состоянии, позволяющем ему выполнять потоковую передачу мультимедиа, и приложение не вызывает ITStream::P auseStream или ITStream::StopStream в потоке или успешно вызывает ITStream::StartStream для этого потока позже, чем оно успешно вызывает ITStream::P auseStream или ITStream::StopStream для этого потока, потоковая передача запускается автоматически сразу после выбора терминала. Если терминал выбран в потоке до того, как транспорт перейдет в состояние, в котором он может выполнять потоковую передачу мультимедиа, и последующие вызовы StopStream или PauseStream не выполняются, поток запускается автоматически, когда транспорт переходит в состояние, в котором он может выполнять потоковую передачу мультимедиа.
Событие CME_STREAM_ACTIVE создается при фактическом запуске потоковой передачи, которая может быть позже вызова SelectTerminal . Событие CME_STREAM_FAIL или CME_TERMINAL_FAIL создается при сбое потоковой передачи, что также может быть позже вызова SelectTerminal .
Терминал можно выбрать в потоке, только если результаты ITTerminal::get_MediaType совпадают с ITStream::get_MediaType. Кроме того, для некоторых поставщиков msps может потребоваться соответствие между ITTerminal::get_Direction и ITStream::get_Direction, хотя интерфейс не применяет это.
Некоторые MSP могут не разрешать одновременное выбор более определенного числа терминалов, обычно одного, в одном потоке, но сам интерфейс не применяет такое ограничение. Выбор одновременно нескольких терминалов в одном потоке полезен, например, чтобы разрешить запись входящего аудиопотока в файл во время прослушивания потока на паре динамиков.
Данный терминал можно выбрать только в одном потоке.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | tapi3if.h (включая Tapi3.h) |