次の方法で共有


Phone デバイス要素

電話デバイスは、電話デバイス クラスをサポートし、次の要素の一部またはすべてを含むデバイスです。

  • フックスイッチ/トランスデューサ:これはオーディオ入力と出力のための手段です。 電話デバイスには、アプリケーションまたは手動ユーザー制御の下でアクティブ化および非アクティブ化 (offhook または onhook に配置) できる複数のトランスデューサを使用できます。

    テレフォニーは、多くの電話セットに共通する 3 種類のフックスイッチ デバイスを識別します。

    ハンドセット:クレードルから手動で持ち上げ、ユーザーの耳に保持する必要がある従来の口と耳の組み合わせ。
    スピーカーフォン: ユーザーがハンズフリーで通話を行うことができます。 スピーカーフォンは、電話デバイスの内部または外部である可能性があります。 スピーカーフォンのスピーカー部分では、複数のリスナーを使用できます。
    ヘッドセット: ユーザーがハンズフリーで通話を行うことができます。

    フックスイッチは、オーディオデータを対応するトランスデューサとの間で送受信できるようにするためにオフフックである必要があります。

  • 音量制御/ゲイン制御/ミュート:各フックスイッチデバイスは、スピーカーとマイクコンポーネントのペアリングです。 この API は、スピーカー コンポーネントの音量制御とミュート、およびマイク コンポーネントのゲイン制御またはミュートを提供します。

  • リンガー: 通常はベルを介してユーザーに警告するための手段です。 電話デバイスは、さまざまなモードまたはパターンで呼び出し可能な場合があります。

  • 表示: ユーザーにメッセージを視覚的に表示するためのメカニズム。 電話ディスプレイは、その行と列の数によって特徴付けられています。

  • 電話ボタン: ボタンの配列。 ユーザーが電話セットのボタンを押すたびに、API は対応するボタンが押されたことを報告します。 ボタンランプ識別子は、ボタンとランプのペアを識別します。 もちろん、ボタンなしの、またはランプのないボタンランプのペアを持つことができます。 ボタン ランプ識別子は、0 から電話デバイスで使用可能なボタン ランプの最大数から 1 を引いた整数値です。 各ボタンはボタン クラスに属します。 クラスには、通話の外観ボタン、機能ボタン、キーパッド ボタン、ローカル ボタンが含まれます。

  • ランプ: API から個別に制御できるランプ (LED など) の配列。 ランプはオンとオフの周波数を変えることで、異なるモードで点灯することができます。 ボタンランプ識別子はランプを識別します。

  • データ領域: 命令コードまたはデータのダウンロード元またはアップロード元の電話デバイス内のメモリ領域。 ダウンロードされた情報は、電話デバイスの動作 (つまり、プログラム) に影響します。

TAPI を使用すると、アプリケーションは電話デバイスの要素を監視および制御できます。 アプリケーションに最も役立つ要素は、フックスイッチ デバイスです。 電話セットは、音量制御、ゲインコントロールとミュート、呼び出し音(ユーザーに警告するための)、データ領域(電話のプログラミング用)、およびおそらくディスプレイを備えたオーディオI / Oデバイスとして機能することができますが、コンピュータのディスプレイはより能力があります。 ランプとボタンの機能は電話セットによって大きく異なり、アプリケーションはすぐに特定の電話セットに合わせて調整できるため、アプリケーションライターは電話ランプや電話ボタンを直接制御または使用することはお勧めしません。

回線デバイス (Basic テレフォニー サービス) の場合と同様に、すべての電話デバイスでサポートされるサービスのコア セットは保証されません。 そのため、アプリケーションで電話デバイスを使用する前に、アプリケーションで最初に電話デバイスの正確な機能を判断する必要があります。 テレフォニー機能は、構成 (クライアントとクライアント/サーバー)、電話ハードウェア、およびサービス プロバイダー ソフトウェアによって異なります。 アプリケーションでは、使用可能なテレフォニー機能について何も想定しないでください。 アプリケーションは、 phoneGetDevCaps 関数を呼び出すことによって、電話デバイスのデバイス機能を決定します。 電話のデバイス機能は、システムに存在する各電話デバイスにこれらの要素のどれが存在し、その機能が何であるかを示します。 この抽象化は実際の電話セットに対して強く指向されていますが、他のデバイスにも意味のある実装 (またはそのサブセット) を提供できます。 例として、コンピューターから直接接続および制御可能で、電話デバイスとして動作する別のヘッドセットを例に取ります。 フックスイッチの変更は、音声エネルギー (offhook) または無音期間 (onhook) の検出によってトリガーできます。リングはヘッドセットへの可聴信号の生成によってエミュレートすることができる;ディスプレイは、テキスト読み上げ変換を通じてエミュレートできます。

電話デバイスはハードウェアで実現する必要はありませんが、代わりにマウスまたはキーボード駆動のグラフィカル コマンド インターフェイスとコンピューターのスピーカーまたはサウンド システムを使用してソフトウェアでエミュレートできます。 このような「ソフトフォン」は、TAPIを使用するアプリケーションである可能性があります。 また、サービス プロバイダーを使用することもできます。これは、API を介して他のアプリケーションで使用できる電話デバイスとして一覧表示され、電話デバイス識別子が割り当てられます。

環境と構成に応じて、電話セットはアプリケーションとスイッチの間でデバイスを共有できます。 いくつかのマイナー プロビジョニングは、スイッチが電話デバイスの API の制御を一時的に中断できる API で行われます。