共用方式為


事件路由

透過 lineSetTerminal 函式,應用程式可以控制或隱藏指定的低階事件路由傳送至裝置。 透過 lineSetTerminal,應用程式會指定路由傳送這些事件的終端裝置(例如線路、位址或呼叫媒體串流事件)。

可以個別控制不同事件類別的路由,允許為每個事件類別指定個別的終端機。 事件類別包括燈、按鈕、顯示器、響鈴、勾點和媒體串流。

例如,如果服務提供者和硬體能夠這麼做,就可以將通話的媒體串流(例如語音)傳送到任何換能裝置。 一般而言,換能器 表示與TAPI中稱為 鉤開關 裝置相同,這是具有麥克風和喇叭的東西。 從切換至手機的響鈴事件可以對應到計算機的螢幕上的視覺警示,也可以路由傳送至手機裝置。 燈事件和顯示事件可以忽略或路由傳送到手機裝置(這似乎行為為一般手機集)。 最後,在手機裝置按下按鈕可能會或可能不會傳遞至該線路。 在任何情況下,來自該線的低階訊號路由不會影響 TAPI 行部分的作業,這一律會將低階事件對應至其功能對等專案。 若要判斷線路裝置具有可用的終端機(及其功能),請參閱線路裝置的功能,lineGetDevCaps

假設應用程式一開始已隱藏所有事件的路由(lineSetTerminal),且使用者選取頭戴式裝置做為目前的 I/O 裝置。 傳入呼叫會傳送 LINE_CALLSTATE 訊息,以及具有 響鈴 指示的 LINE_LINEDEVSTATE 訊息。 由於會隱藏所有事件的路由,所以不會將通道事件路由傳送至電話,因此會隱藏響鈴。 相反地,應用程式會在頭戴式裝置中使用快顯對話框和系統嗶聲通知使用者。

用戶決定接聽電話。 由於使用者目前的 I/O 裝置是頭戴式裝置,電話語音應用程式會在來電呼叫上叫用 lineSetTerminal,以將通話的媒體路由傳送至頭戴裝置並接聽電話。 應用程式也可以叫用 lineSetTerminal 路由燈,並將資訊事件顯示到手機集,讓它如往常般運作。

作為第二個範例,假設來電在用戶的計算機上發出警示。 用戶決定只接聽電話來接聽電話,而不是使用滑鼠選取接聽選項。 手機的 offhook 狀態會傳送訊息給應用程式。 應用程式可以將此狀態解譯為使用者要求,以選取手機來進行交談。 然後,應用程式會叫用 lineSetTerminal,以在通話中路由傳送語音數據到電話集。