共用方式為


媒體監視

當呼叫處於 連線 狀態時,可以透過呼叫傳輸資料。 呼叫媒體類型會指出此媒體資料流程的資料類型 (類型,例如其資料類型或更高層級的通訊協定) 。

TAPI 可讓應用程式提供有關呼叫媒體類型變更的通知。 通知會指出呼叫的新媒體類型。 服務提供者決定其想要如何做出此判斷。 例如,服務提供者可以使用媒體資料流程的訊號處理來判斷媒體類型,或依賴指派給不同媒體串流的獨特通道模式,或依賴傳入頻外訊號通訊協定的資訊元素。 與媒體類型判斷的達成方式無關,應用程式只會通知現有呼叫上的媒體類型變更。

如需詳細資訊和目前定義的 TAPI 媒體類型或模式清單,請參閱 LINEMEDIAMODE_常數。 服務提供者可以實作高度特製化裝置的提供者特定媒體類型。 如需這些資訊,請參閱裝置檔。

TAPI 所定義的媒體類型包括:

  • 未知。 目前不知道呼叫的媒體類型-呼叫未分類。
  • 互動式語音。 在通話上偵測到語音能源,而通話會以互動式語音通話的形式處理,並在應用程式結束時以人員身分處理。
  • 自動化語音。 在通話上偵測到語音能源,而通話會以語音通話方式處理,但應用程式結束時沒有人員,例如接聽電腦應用程式。
  • 資料數據機。 通話上的數據機會話。 目前的數據機通訊協定需要呼叫的月臺來起始交握。 對於傳入的資料數據機呼叫,應用程式通常不會進行正向偵測。 服務提供者如何做出此判斷是其選擇。 例如,接聽來電之後的一段無聲時間可以當做啟發學習法來決定這可能是資料數據機通話。
  • G3 傳真。 通話上的群組 3 傳真會話。
  • G4 傳真。 通話上的群組 4 傳真會話。
  • Tdd。 呼叫的媒體串流會使用電話語音裝置進行 Deaf 通訊協定。
  • 數位資料。 未指定格式的數位資料流程。
  • Teletex、Videotex、Telex、Mixed。 這些對應至相同名稱的電信服務。
  • ADSI。 呼叫上的類比顯示服務介面會話。 ADSI 會增強語音通話,其中包含下載至手機的英數位元資訊,以及在手機上使用軟按鈕。

應用程式可以使用 lineMonitorMedia在指定的呼叫上啟用或停用媒體監視。 應用程式會指定其感興趣的媒體類型,以及啟用媒體監視時,偵測媒體類型變更會導致應用程式收到 LINE_MONITORMEDIA 訊息的通知。 此訊息提供偵測到媒體類型變更的呼叫控制碼,以及新的媒體類型。

行GetCallInfo所報告之呼叫的媒體類型與LINE_MONITORMEDIA訊息所報告的媒體類型之間有區別。 呼叫的媒體類型是由呼叫的擁有者應用程式獨佔決定,而且不會由媒體監視事件自動變更。 其中一個例外狀況是 TAPI 動態連結程式庫可執行檔初始媒體類型判斷,以選取呼叫的第一個擁有者。 在此案例中,程式庫可能是呼叫的擁有者。

預設媒體類型監視會針對已開啟線路裝置的媒體類型執行。 這可讓來電的媒體類型在呼叫根據應用程式需求將呼叫交給應用程式之前決定。 呼叫的媒體監視範圍是由呼叫的存留期所系結。 通話上的媒體監視會在通話 中斷 連線或 閒置時結束。

應用程式可以藉由呼叫 lineGetID,取得與開啟行相關聯的各種裝置類別的裝置識別碼。 此函式會採用行控制碼、位址或呼叫控制碼和裝置類別描述。 它會傳回指定裝置類別之裝置的裝置識別碼,該裝置與開啟線路裝置、位址或呼叫相關聯。 如果裝置類別是 「tapi/line」,則會傳回裝置的裝置識別碼。 如果裝置類別是 「mci/wave」,則會傳回 mci waveaudio 裝置的裝置識別碼 (如果支援) ,這可允許透過線路上的通話錄製或播放音訊等活動。

應用程式可以使用傳回的裝置識別碼搭配對應的媒體 API 來查詢裝置的功能,然後開啟媒體裝置。 例如,如果您的應用程式需要使用線路做為波浪線裝置,它必須先呼叫 waveInGetDevCaps 和/或 waveOutGetDevCaps ,以判斷裝置的波浪線功能。 北美洲中電話語音支援的一般波浪資料格式是每秒 8000 個樣本的 8 位 m-law,雖然波浪設備磁碟機可以將這個取樣率和編譯轉換成其他較常見的多媒體音訊格式。

為了後續使用波浪 API 開啟音訊播放的線路裝置,應用程式會呼叫 waveOutOpenwaveOutOpen的實作是裝置特定的,而且有各種不同的選項可用來實作此函式。