次の方法で共有


TSPI_lineMonitorTones関数 (tspi.h)

TSPI_lineMonitorTones関数は、呼び出しのインバンド トーンの検出を有効または無効にします。 指定したトーンが検出されるたびに、TAPI を介してメッセージがクライアント アプリケーションに送信されます。

構文

LONG TSPIAPI TSPI_lineMonitorTones(
  HDRVCALL                hdCall,
  DWORD                   dwToneListID,
  LPLINEMONITORTONE const lpToneList,
  DWORD                   dwNumEntries
);

パラメーター

hdCall

トーン検出を実行する呼び出しへのハンドル。 hdCall の呼び出し状態は、アイドル状態を除く任意の状態にすることができます。

dwToneListID

このトーン リストの一意識別子。 一度に複数のトーン リストを未処理にすることができます。 サービス プロバイダーは、同じ dwToneListID を持つ古いリストを新しいトーン リストに置き換える必要があります。 lpToneListNULL の場合、dwToneListID を持つトーン リストは単に削除されます。 いずれの場合も、 dwToneListIDが異なる他のトーン リストは変更されません。

lpToneList

監視するトーンの一覧 ( LINEMONITORTONE 型)。 このリストの各トーンには、トーン検出を報告するためにリスト内の個々のトーンを識別するために使用されるアプリケーション定義のタグ フィールドがあります。 進行中のトーン監視は、lpToneList場合は NULL、または別のトーン リストを使用してこの操作を呼び出すことによってキャンセルまたは変更されます。 サービス プロバイダーは、単にポインターをアプリケーション メモリに保持するのではなく、後で参照するためにトーン リストを独自のメモリにコピーする必要があります。

dwNumEntries

lpToneList 内のエントリの数。 lpToneListNULL の場合、dwNumEntries パラメーターは無視されます。 TAPI は、この関数が呼び出されたときにこのパラメーターを検証しません。

戻り値

関数が成功した場合は 0 を返し、エラーが発生した場合はエラー番号を返します。 可能な戻り値は次のとおりです。

LINEERR_INVALCALLHANDLE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCALLSTATE、LINEERR_OPERATIONFAILED、LINEERR_INVALTONE、LINEERR_RESOURCEUNAVAIL、LINEERR_NOMEM、LINEERR_INVALPOINTER。

注釈

この関数は、トーン監視が終了したときではなく、トーン監視が正しく開始されると 0 (成功) を返します。 メディア監視と同様に、同じ dwToneListID と別のトーン リスト (または NULL トーン リスト) を使用してTSPI_lineMonitorTonesを呼び出すか、呼び出しがアイドル状態に移行するまで、特定のトーン リストに対するトーン監視は有効なままです。

この関数は アイドル状態を除く任意の呼び出し状態で呼び出すことができますが、通常、トーンは呼び出しが 接続 状態の間にのみ検出できます。 トーン検出には通常、計算リソースが必要です。 このようなリソースを競合するサービス プロバイダーやその他のアクティビティによっては、検出できるトーンの数が時間の経過と同時に異なる場合があります。 また、1 つの 3 つの周波数トーンと 3 つの単一周波数トーンを監視するために、同等の量のリソースを使用できます。 リソースがオーバーコミットされた場合、サービス プロバイダーはLINEERR_RESOURCEUNAVAILを返します。

サービス プロバイダーは、すべてのトーン リスト内のすべてのトーンを同時に監視します。 トーンが検出されると、各トーン リストの一致する各トーンが 、LINE_MONITORTONE メッセージを使用して個別に報告されます。 各トーン レポートには、トーン リスト識別子とアプリケーション固有のタグの両方が含まれます。 一部のサービス プロバイダーでは、非常に近いトーンを区別できない場合があるため、説明が厳密に同じではないトーンでも複数の一致が報告される可能性があります。

TSPI_lineMonitorTonesは無音を検出するためにも使用されます。 無音は、すべてのゼロ周波数を持つトーンとして指定されます。
 
TAPI レベルの対応する関数には 、dwToneListID パラメーターは含まれません。 TSPI インターフェイスにこのパラメーターを含めることにより、TAPI は、すべてのアプリケーションからサービス プロバイダーにすべてのトーン監視リストの和集合を転送しながら、アプリケーションに従ってトーン検出イベントをフィルター処理および転送する機能を維持できます。 これにより、TAPI はトーンの説明が同一と見なされる前提がないため、サービス プロバイダー デザイナーは非常に近いトーンを判別できる程度を決定する最大の柔軟性を提供します。

要件

要件
対象プラットフォーム Windows
ヘッダー tspi.h

こちらもご覧ください

LINEDEVCAPS

LINEMONITORTONE

LINE_MONITORTONE

TSPI_lineGetDevCaps

TSPI_lineSetMediaControl