Vonage Video API を使用するための最初のステップは、 OT.initSession() メソッド。OT オブジェクトのその他のメソッドでは、システム要件の確認やエラーログの設定が行われます。

方法

名称 説明
(static) addEventListener(type, listener) このメソッドは非推奨です。
(static) checkScreenSharingCapability(callback) → {Promise.<ScreenSharingCapabilityResponse>} クライアントのブラウザで画面共有ストリームの配信がサポートされているかどうかを確認します。
(static) checkSystemRequirements() → {Number} システムがWebRTC用のVonage Video APIに対応しているかどうかを確認します。
(static) getActiveAudioOutputDevice() 現在のオーディオ出力デバイスを解決する Promise を返します。
(static) getAudioOutputDevices() ブラウザで利用可能なオーディオ出力デバイス(スピーカーなど)を一覧表示します。
(static) getDevices(callback) → {Promise.<Array.<Device>>} ブラウザで利用可能なオーディオ入力デバイス(マイクなど)およびビデオ入力デバイス(カメラなど)を一覧表示します。
(static) getSupportedCodecs() → {Promise} ビデオストリームのエンコードおよびデコードに対応しているコーデックのリストを取得します。
(static) getUserMedia(options) → {Promise} マイクとカメラを音声および動画のソースとして使用する MediaStream オブジェクトを取得します。
(static) hasEndToEndEncryptionSupport() → {Boolean} クライアントがエンドツーエンド暗号化に対応しているかどうか。
(static) hasMediaProcessorSupport(mediaType) → {Boolean} クライアントが、ビデオやオーディオのフィルターなどのメディアプロセッサをサポートしているかどうか。
(static) initPublisher(targetElement, properties, completionHandler) → {Publisher} Publisher オブジェクトを初期化し、それを返します。
(static) initSession(apiKey, sessionId, options) → {Session} 指定されたセッション ID に対応するローカルセッションオブジェクトを初期化し、それを返します。
(static) log(message) デバッガのコンソールに文字列を出力します。
(static) off(type, handler, context) イベントハンドラを削除します。
(static) on(type, handler, context) 1つ以上のイベントに対するイベントハンドラ関数を追加します。
(static) once(type, handler, context) イベント用のイベントハンドラ関数を追加します。
(static) registerScreenSharingExtension(kind, id, version) 古いバージョンのChromeまたはOperaで画面共有に対応するための拡張機能を登録してください。
(static) removeEventListener(type, listener) このメソッドは非推奨です。
(static) reportIssue(completionHandler) → {Promise.<string>} アプリで問題が発生したことを報告してください。
(static) setAudioOutputDevice() → {Promise} 新しいオーディオ出力デバイスを設定します。
(static) setLogLevel(logLevel) APIのログレベルを設定します。
(static) setProxyUrl() IPプロキシサーバーのURLを設定します。
(static) unblockAudio() オーディオがブロックされているブラウザでも、購読者のオーディオが再生されるようにします。
(static) upgradeSystemRequirements() Vonage Video API for WebRTC のシステム要件に関する情報を表示します。

(static) addEventListener(type, listener)

この方法は非推奨です。代わりに on() または once() その代わりだ。

特定のイベントのイベントリスナーとしてメソッドを登録します。

OTオブジェクトは、ある種のイベント、すなわち exception イベント。 以下のコードは、 exception イベントを開催する:

OT.addEventListener("exception", exceptionHandler);

function exceptionHandler(event) {
   alert("exception event. \n  code == " + event.code + "\n  message == " + event.message);
}

イベントに対してハンドラが登録されていない場合、そのイベントはローカルでは無視されます。イベント リスナー関数が存在しない場合、そのイベントはローカルでは無視されます。

以下の場合、例外をスローします。 listener 名前が無効です。

パラメータ:
名称 タイプ 説明
type ストリング イベントの種類を識別する文字列。
listener 機能 OTオブジェクトがイベントをディスパッチする際に呼び出される関数。

参照: : - on() - once()

(static) checkScreenSharingCapability(callback) →{Promise.<ScreenSharingCapabilityResponse>}

クライアントブラウザでの画面共有ストリームの公開がサポートされているかどうかを確認します。プロミスで返される オブジェクトには、画面共有がサポートされているかどうか、および どの画面共有ソース(アプリケーション、画面、またはウィンドウ)がサポートされているかが定義されています。また、 拡張機能が必要かどうか、インストールされているかどうか、および(必要な場合)登録されているかどうかも示されます。

const response = await OT.checkScreenSharingCapability();
if (!response.supported || response.extensionRegistered === false) {
// This browser does not support screen sharing
} else if (response.extensionInstalled === false) {
  // Prompt to install the extension
} else {
  // Screen sharing is available.
}

このオブジェクトには、クライアントでの画面共有ストリームの公開をサポートしていることを示す、以下のプロパティがあります:

  • extensionInstalled (ブール値) — 古いバージョンのChromeおよびOperaでは、 これは true 拡張機能がインストールされ、登録されている場合。 Chrome 72 以降、Firefox 52 以降、Safari 13 以降、Opera 59 以降、Edge 79 以降、および Internet Explorer では、 このプロパティは未定義です。
  • supported (ブール値) — 以下の値に設定します true ブラウザで画面共有が サポートされている場合。以下の項目を確認してください。 extensionRequired プロパティ ブラウザで画面共有を行うために拡張機能が必要かどうかを確認します。
  • supportedSources (オブジェクト) — 非推奨。以前の ブラウザのバージョンでは、画面共有のソースの種類を (例えば "application", "browser", "screen", または "window" を設定することで videoSource プロパティ が、 OT.initPublisher() メソッド。 しかし、画面共有をサポートしている現在のブラウザでは、 これらの値のいずれかを渡しても同じ動作になります。つまり、ブラウザは ダイアログボックスを表示し、エンドユーザーが画面共有の ソース(画面全体または特定のウィンドウ)を選択します。 Electronでは、 画面共有はユーザーに許可を求めることなく、画面全体をキャプチャします。

options パラメータには、古いバージョンの Chrome および Opera における画面共有 機能に適用される以下のプロパティも含まれています(その他のすべてのブラウザでは、これらのプロパティは 未定義です):

  • extensionRequired (文字列) — 以下の値に設定します "chrome" Chrome や Opera の旧バージョンでは、画面共有用の拡張機能を インストールする必要があります。他のブラウザでは、このプロパティは未定義です。
  • extensionRegistered (ブール値) — 古いバージョンのChromeおよびOperaでは、 このプロパティは true 画面共有拡張機能が登録されている場合; そうでない場合は、次のように設定されます: false. その他のブラウザ(拡張機能が必要ないもの)では、 このプロパティは未定義です。 OT.registerScreenSharingExtension() 古いバージョンのChromeやOperaで、画面共有 拡張機能を登録する方法。

Chrome 72 以降、Firefox 52 以降、Safari 13 以降、Edge 79 以降、および Opera 59 以降には、 拡張機能なしで利用できる画面共有機能が標準搭載されています。 (なお、Internet Explorer 用の Vonage Video API プラグインのサポートは、Vonage Video API 2.17 で廃止されています。)画面共有は 違う モバイルブラウザでサポートされています。Electron では、 以下の条件を満たす場合、画面共有がサポートされます。 webPreferences.contextIsolation ElectronのBrowserWindowのオプションは 次のように設定されています false あるいは、アプリがプリロードスクリプトを使用してデスクトップキャプチャ機能にアクセスする場合。 (のデフォルト値は webPreferences.contextIsolation オプションは true Electron 12 では、および false (以前のバージョンでは)。画面共有動画を公開するには、 Chrome や Opera の旧バージョンにおいて、クライアントは、 お客様のドメイン上で画面共有動画ストリームを公開できるようにする拡張機能を追加します。Vonage Video API 画面共有拡張機能 このサンプルには、旧バージョンのChromeおよびOperaで画面共有機能をサポートするための拡張機能を作成するためのコードが含まれています。

詳細は Vonage Video API の画面共有 開発者ガイド

パラメータ:
名称 タイプ 説明
callback 機能 オプションのコールバックが呼び出され、サポートオプションオブジェクトがパラメータとして渡されます。

参照: : - OT.initPublisher() - OT.registerScreenSharingExtension()

リターンズ

その能力を備えた約束

(static) checkSystemRequirements() →{Number}

システムが WebRTC 向けの Vonage Video API をサポートしているかどうかを確認します。なお、このメソッドは、 を呼び出すと自動的に呼び出されます。 OT.initPublisher() または OT.initSession(), また、システムがVonage Video APIに対応していない場合、OpenTok.jsライブラリは ユーザーにメッセージを表示します。以下の関数を呼び出してください。 OT.checkSystemRequirements() 呼び出す前にメソッドを実行する OT.initPublisher() または OT.initSession() もし ライブラリにそのメッセージを表示させたくない場合は。

参照: : - OT.upgradeSystemRequirements()

リターンズ

システムがWebRTC用のVonage Video APIに対応しているか(1)、対応していないか(0)。

(static) getActiveAudioOutputDevice()

現在のオーディオ出力デバイスを解決する Promise を返します。

このメソッドは、2つのプロパティを持つオブジェクトを解決するPromiseを返します: deviceId そして label、これらはそれぞれ文字列です。

について deviceId property は、デバイス固有の ID です。 この deviceId のパラメータとして OT.setAudioOutputDevice() メソッドを使用する。その deviceId ユーザーが以前にカメラやマイクへのアクセスを許可していない場合、 このプロパティは `undefined` に設定されます。

について label このプロパティはデバイスを識別します。この label ユーザーが以前にカメラやマイクへのアクセス権を許可していない場合、 このプロパティは空の文字列に設定されます。

: 現在、対応しているブラウザは、デスクトップ版のChrome 49以降、 Edge 17以降、Opera 36以降、およびSamsung Internet、Android版WebView、 iOS版WebViewの最新バージョンです。

参照: : - OT.getAudioOutputDevices() - OT.setAudioOutputDevice()

(static) getAudioOutputDevices()

ブラウザで利用可能なオーディオ出力デバイス(スピーカーなど)を一覧表示します。

このメソッドは、利用可能なオーディオ出力デバイスに対応するオブジェクトの配列を 解決する Promise を返します。各オブジェクトには 2 つのプロパティがあります: deviceId そして label、これらはそれぞれ文字列です。

について deviceId property は、デバイス固有の ID です。 この deviceId のパラメータとして OT.setAudioOutputDevice() メソッドを使用する。その deviceId ユーザーが事前にカメラやマイクへのアクセスを許可していない場合、このプロパティは undefined に設定されます。利用可能なオーディオ出力デバイスがない場合、このプロパティは に設定されます。 null.

について label このプロパティはデバイスを識別します。この label ユーザーが以前にカメラやマイクへのアクセス権を許可していない場合、 このプロパティは空の文字列に設定されます。

注釈:

  • 現在、対応しているブラウザは、デスクトップ版のChrome 49以降、 Edge 17以降、Opera 36以降、およびSamsung Internet、Android版WebView、 iOS版WebViewの最新バージョンです。
  • ユーザーがカメラやマイクへのアクセスを許可するまでは、 ブラウザによって返されるオーディオ出力デバイスの数が1つに制限される場合があります。

参照: : - OT.setAudioOutputDevice() - OT.getActiveAudioOutputDevice()

(static) getDevices(callback) →{Promise.<Array.<Device>>}

ブラウザで使用可能なオーディオ入力デバイス(マイクなど)およびビデオ入力デバイス (カメラ)を列挙します。これは、デバイスの配列を含むプロミス を返します。各オブジェクトには3つのプロパティがあります: kind, deviceIdそして label、これらはそれぞれ文字列です。

について kind プロパティが "audioInput" オーディオ入力 デバイス、または "videoInput" 映像入力デバイス用。

について deviceId property は、デバイス固有の ID です。 この deviceId として audioSource または videoSource の属性 options パラメーターの OT.initPublisher() メソッドを使用する。

について label このプロパティはデバイスを識別します。この label ユーザーが以前にカメラやマイクへのアクセス権を許可していない場合、 このプロパティは空の文字列に設定されます。

パラメータ:
名称 タイプ 説明
callback 機能 デバイス一覧 `devices` が利用可能になった際に呼び出される、オプションのコールバック関数です。この関数は 2 つのパラメータを受け取ります: - error — このメソッドの呼び出しでエラーが発生した場合、このプロパティにはエラーオブジェクトが設定されます。具体的には、 null 呼び出しが成功したとき。 - devices — 利用可能なマイクおよびカメラに対応するオブジェクトの配列。 注: ユーザーがカメラやマイクへのアクセスを許可するまでは、ブラウザによって、返されるオーディオおよびビデオ入力デバイスの数がそれぞれ1つに制限される場合があります。

参照: : - OT.initPublisher()

リターンズ

デバイスの一覧を含むプロミス

(static) getSupportedCodecs() →{Promise}

ビデオストリームのエンコードおよびデコードに対応しているコーデックのリストを取得します。

次の例は、ビデオストリームのエンコードおよび デコードに対応しているコーデックのリストを取得するものです:

(async () => {
  try {
    const supportedCodecs = await OT.getSupportedCodecs();
    if (supportedCodecs.videoEncoders.indexOf('H264') < 0 &&
        supportedCodecs.videoDecoders.indexOf('H264') < 0) {
      // The client does not support encoding or decoding H264.
      // Let's recommend using a different browser.
    }
  } catch(err) {
    console.log(err);
  }
})();

サポートされているビデオコーデックのリストを参照することで、優先するビデオコーデックや使用中のセッションの種類に応じて、クライアントが ビデオに対応しているかどうかを確認できます。 優先するビデオコーデックは、[プロジェクト] ページで設定できます。 Vonage Video API アカウント. において ルーティングセッション (Vonage Video API Media Router を使用するセッションの場合)、そのセッション内のすべての クライアントに対して、優先ビデオコーデックが使用されます。中継セッションでは、クライアント同士が直接ストリームを送信し合い、 各パブリッシュ・サブスクライブペアは、双方が使用できる共通のビデオコーデックを見つけようとします。 この点において、リレーセッションにおけるペアで使用されるビデオコーデックは、 優先ビデオコーデックの設定とは異なる場合があります。詳細については、Vonage Video API を参照してください。 ビデオコーデック 開発者ガイド

リターンズ

サポートされるコーデックのリストが準備できた時点で解決されるプロミスです。 このプロミスは(成功した場合)、2つのプロパティを持つオブジェクトで解決されます: videoDecoders、デコードに対応している各種ビデオコーデック、および videoEncoders、エンコードに対応しているさまざまなビデオコーデック、例えば:

{
   videoDecoders: ['H264', 'VP8', 'VP9'],
   videoEncoders: ['H264', 'VP8', 'VP9']
}

リストの取得中にエラーが発生した場合、そのプロミス(promise)は拒否されます。

(static) getUserMedia(options) →{Promise}

マイクとカメラを音声および動画のソースとして使用する MediaStream オブジェクトを取得します。 このメソッドは、ユーザーがカメラまたはマイク(あるいはその両方)の使用許可を 与え、MediaStream オブジェクトが利用可能になった時点で解決されるプロミスを返します。 メディアの取得中にエラーが発生した場合、またはエンドユーザーがカメラやマイクへの アクセスを拒否した場合は、プロミスは拒否されます。

このメソッドを使用すると、MediaStreamTrack オブジェクトを取得して、 audioSource そして videoSource のオプション OT.initPublisher() メソッド。たとえば、このメソッドを呼び出すと、 マイクとカメラを音声および動画のソースとして使用する MediaStream を取得できます。その後、 次のメソッドを呼び出すことができます getVideoTracks()[0] MediaStream オブジェクトを使用して、カメラの動画に対応する MediaStreamTrack オブジェクトを取得します。その後、この動画の MediaStreamTrack を HTML Video 要素のソースとして追加し、その Video 要素を HTML Canvas 要素に描画して、 Canvas に動画フィルターやエフェクトを適用することができます。その後、 captureStream() HTMLCanvasElement オブジェクトのメソッドを使用して MediaStream オブジェクトを取得し、 getVideoTracks()[0] MediaStream オブジェクトに対して、ビデオの MediaStreamTrack オブジェクト(ビデオフィルターやエフェクトが適用されたもの)を取得します。最後に、このビデオの MediaStreamTrack オブジェクトを videoSource 渡したオプションの プロパティ OT.initPublisher(). Vonage Video API Publisherは、 (フィルターやエフェクトが適用された)ビデオトラックをビデオソースとして使用します。

パラメータ:
名称 タイプ 説明
options 目的 (オプション) MediaStream オブジェクトの設定を定義します。オプションは、 OT.initPublisher() メソッド。ただし、以下のプロパティのみが OT.getUserMedia(): - audioSource - autoGainControl - disableAudioProcessing - echoCancellation - enableStereo - facingMode - frameRate - maxResolution - noiseSuppression - resolution - videoSource

参照: : - オプション(特に audioSource そして videoSource) の OT.initPublisher() 方法

リターンズ

ユーザーがカメラまたはマイク(あるいはその両方)の使用を許可し、 MediaStream オブジェクトが利用可能になった時点で解決されるプロミスです。 メディアの取得中にエラーが発生した場合、エンドユーザーがカメラまたはマイクへの アクセスを拒否した場合、あるいは Internet Explorer でこのメソッドが呼び出された場合、 このプロミスはリジェクトされます。

(static) hasEndToEndEncryptionSupport() →{Boolean}

クライアントがエンドツーエンド暗号化に対応しているかどうか。

次の例は、クライアントが対応している場合に、エンドツーエンド暗号化を有効にします:

// Publish in a session with end-to-end encryption, if supported
if (OT.hasEndToEndEncryptionSupport()) {
  session.publish(publisher, error) = {
    ...
  });
}

参照: : - OT.initSession() - Session.publish()

リターンズ

クライアントがエンドツーエンド暗号化をサポートしているかどうか(true), あるいはそうでない場合(false).

(static) hasMediaProcessorSupport(mediaType) →{Boolean}

クライアントが、ビデオやオーディオのフィルターなどのメディアプロセッサをサポートしているかどうか。

次の例は、クライアントが対応している場合に、 背景ぼかしフィルターを有効にします:

// Add background blur, if supported
if (OT.hasMediaProcessorSupport('video')) {
  publisherOptions.videoFilter = {
    type: 'backgroundBlur',
  };
}
// Add advanced noise suppression, if supported
if (OT.hasMediaProcessorSupport('audio')) {
  publisherOptions.audioFilter = {
    type: 'advancedNoiseSuppression',
  };
}

const publisher = OT.initPublisher(publisherOptions);
パラメータ:
名称 タイプ 説明
mediaType ストリング 「audio」、「video」、または「both」。デフォルトは「both」です。

参照: : - OT.initPublisher() - Publisher.applyVideoFilter() - Publisher.applyAudioFilter()

リターンズ

クライアントがメディアプロセッサをサポートしているかどうか(true)、例えば 映像や音声のフィルターなど、あるいはそうでない場合(false).

(static) initPublisher(targetElement, properties, completionHandler) → {出版社}

Publisher オブジェクトを初期化して返します。その後、この Publisher オブジェクトを Session.publish() ストリームをセッションに公開する。

注: 1つのPublisherオブジェクトを再利用して、異なるセッション (または同じセッション)に対して順次パブリッシュを行う場合は、 streamDestroyed Publisher オブジェクトによってディスパッチされるイベント(パブリッシングが停止したとき)。イベントリスナー内で、 以下のメソッドを呼び出します。 preventDefault() イベントオブジェクトのメソッドを使用して、パブリッシャーの 動画がページから削除されるのを防ぎます。

パラメータ:
名称 タイプ 説明
targetElement 目的 (任意)DOM要素、または id HTML DOM 内の Publisher 動画の位置を特定するために使用される、既存の DOM 要素の属性。詳しくは、 insertMode プロパティの properties パラメータ。もし targetElement, アプリケーションはHTMLに新しいDOM要素を追加します body. IDが targetElement その値はHTML DOMに存在しません。
properties 目的 (オプション)このオブジェクトには、以下のプロパティが含まれています(いずれもオプションです): - オーディオビットレート (数値) — 配信されるオーディオの希望ビットレート(ビット/秒単位)。 サポートされる値の範囲は 6,000 ~ 510,000 です(無効な値は無視されます)。この値を設定することで、高品質のオーディオを有効にしたり(あるいは、低品質のオーディオで帯域幅の使用量を削減したり)することができます。 推奨される設定は次のとおりです。 - 狭帯域 (NB) 音声:8,000 ~ 12,000 - 広帯域 (WB) 音声:16,000 ~ 20,000 - 28,000 - フルバンド (FB) 音声の場合は 40,000 - フルバンド (FB) 音楽の場合は 48,000 ~ 64,000 デフォルト値は 40,000 です。 現在、Firefoxで公開されたストリームでは、この設定はサポートされていません。 - audioFallback (オブジェクト) — ストリームがオーディオフォールバック機能を使用するかどうかを定義するプロパティを含むオブジェクト。この audioFallback このオブジェクトには、以下のプロパティが含まれます: - publisher (ブール値) — ストリームが パブリッシャーのオーディオ・フォールバック機能を使用するかどうか (true) かどうか(デフォルト false). パブリッシャーのオーディオ・フォールバック機能は、ルーティングされたセッション( Vonage Video API メディアルーター) および中継セッション。パブリッシャーのオーディオフォールバック機能を有効にしている場合、パブリッシャーの画質が著しく低下したと判断されると、オーディオ品質を維持するために、そのパブリッシャーのビデオが無効化されます。詳細については、「パブリッシャー」を参照してください。 videoDisabled, videoDisableWarning, videoDisableWarningLifted、および videoEnabled イベント。 - subscriber (ブール値) — ストリームが サブスクライバー向けオーディオフォールバック機能を使用するかどうか (true)または(false). audio-fallback 機能は、Vonage Video API Media Router を使用するセッションで利用可能です。 audio-fallback 機能が有効になっている場合(デフォルト設定)、サーバーが特定の加入者に対してストリームの品質が著しく低下したと判断すると、音声品質を維持するためにその加入者に対するビデオを無効にします。カメラをビデオソースとして使用するストリームの場合、デフォルト設定は true (オーディオのフォールバック機能が有効になっています)。 デフォルト設定は false (オーディオのフォールバック機能は無効化されています) 画面共有ストリームについては、 videoSource プロパティが次のように設定されています "application", "screen"あるいは "window" その中では OT.initPublisher() オプション。詳細については、「加入者」を参照してください。 videoDisabled イベントと Vonage Video API メディアルーターとメディアモード. - audioFilter (オブジェクト) — パブリッシャーのオーディオストリームに適用されるオーディオフィルタを定義するプロパティを含むオブジェクト。以下のフィルタがサポートされています: - 高度なノイズ抑制フィルター - を設定する。 type オブジェクトのプロパティを "advancedNoiseSuppression".注: オーディオフィルターは、Chrome、Electron、Opera、Edge、Samsung Internet、およびAndroid版WebViewの最新バージョンでのみサポートされています。その他の(Chromiumベースではない)ブラウザやiOSではサポートされていません。クライアントがこの機能をサポートしているかどうかは、 OT.hasMediaProcessorSupport('audio') メソッド。オーディオフィルターは、 Publisher.applyAudioFilter() メソッド。 オーディオフィルターは、 Publisher.clearAudioFilter() メソッド。 - audioSource (String、MediaStreamTrack、Boolean、または null) — パブリッシャーが使用するオーディオ入力デバイス(マイクなど)の ID。利用可能なデバイス(オーディオ入力デバイスを含む)の一覧は、 OT.getDevices() メソッド。このメソッドによって一覧表示される各デバイスには、一意のデバイスIDが割り当てられています。既存のオーディオ入力デバイスと一致しないデバイスIDを渡した場合、 OT.initPublisher() 完了ハンドラ関数にエラー(エラーコード 1500、「公開できませんでした」)が渡され、処理が失敗します。このプロパティを null または false, ブラウザはマイクへのアクセスを要求せず、音声も公開されません。また、このプロパティをオーディオに設定することもできます。 MediaStreamTrack オブジェクト。これにより、そのオブジェクトを公開ストリームのオーディオソースとして使用できます。たとえば、 audioTracks HTMLMediaElement オブジェクトのプロパティ。あるいは、 getLocalStreams() または getRemoteStreams() RTCPeerConnection オブジェクトのメソッドを使用して MediaStream オブジェクトの配列を取得し、その後、 getAudioTracks() MediaStream オブジェクトのいずれかのメソッドを呼び出して、オーディオの MediaStreamTrack オブジェクトを取得します。 - オートゲインコントロール (ブール値) — 公開されるオーディオに対して自動ゲイン制御を有効にするかどうか。これを次のように設定するとよいでしょう。 false 高品質なオーディオを公開する際(設定により audioBitrate プロパティの OT.initPublisher() オプション)。デフォルト値は true.を設定した場合、この設定は無視されます。 disableAudioProcessing ~へ true (これにより、配信中のストリームのエコーキャンセル、自動ゲイン制御、およびノイズ抑制が無効になります)。 - disableAudioInputDeviceManagement (ブール値) — オーディオ入力デバイスの自動切り替えを無効にするかどうか。これを true デバイス管理を自分で行いたい場合は。 注: これは高度な機能です。アプリケーションのデバイス管理を事前に実装しない限り、使用しないでください。 これを有効にすると、SDK が使用するオーディオ入力デバイスは にはなりません。 エンドユーザーがマイクを変更した際に更新されます。デフォルト値は false. - disableAudioProcessing (ブール値) — 配信されるオーディオのエコーキャンセル、自動ゲイン制御、およびノイズ抑制を無効にするかどうか。これを次のように設定するとよいでしょう。 true 高品質なオーディオを公開する際(設定により audioBitrate プロパティの OT.initPublisher() オプション)。デフォルト値は false. - エコーキャンセル (ブール値) — 配信されるオーディオのエコーキャンセルを有効にするかどうか。これを false 高品質なオーディオを公開する際(設定により audioBitrate プロパティの OT.initPublisher() オプション)。デフォルト値は true.を設定した場合、この設定は無視されます。 disableAudioProcessing ~へ true (これにより、配信中のストリームのエコーキャンセル、自動ゲイン制御、およびノイズ抑制が無効になります)。 - イネーブル・ステレオ (ブール値) — ステレオ音声を公開するかどうか。デフォルト値は false. 注: 一部のブラウザ(Chrome 73以降など)では、ステレオ音声のエコーキャンセルに対応していません(詳細は この Chrome の問題報告). - enableDtx (ブール値) — 有効にするかどうか Opus DTX. デフォルト値は false. これを true 長い無音区間があるストリームでは、帯域幅の使用量を削減できます。 - facingMode (文字列) — 動画ソースに使用する推奨カメラ位置。通常、この設定はモバイル端末にのみ適用されます。以下のいずれかの値に設定できます: - "user" — 前面カメラ。 - "environment" — 背面カメラ。 - "left" — ユーザーの方を向いているが、左側を向いているカメラ (あまり一般的ではない)。 - "right" — ユーザーの方を向いているが、右側を向いているカメラ (あまり一般的ではない)。 - fitMode (文字列) — 動画のサイズが DOM 要素のサイズと一致しない場合に、動画がどのように表示されるかを決定します。このプロパティには、以下のいずれかの値を設定できます。 - "cover" — 動画のサイズがDOM要素のサイズと一致しない場合、動画はトリミングされます。これは、カメラの映像を配信する動画のデフォルト設定です。 - "contain" — 動画のサイズがDOM要素のサイズと一致しない場合、動画はレターボックス表示されます。これは、画面共有用の動画におけるデフォルトの設定です。 - frameRate (数値) — 動画の希望フレームレート(1秒あたりのフレーム数)。有効な値は 30、15、7、1 です。公開されるストリームでは、公開クライアントでサポートされている値のうち、指定した値に最も近いものが使用されます。 クライアントのブラウザによっては、フレームレートが設定した値とわずかに異なる場合があります。また、動画が指定されたフレームレートを使用するのは、クライアントの設定でそれがサポートされている場合に限られます。パブリッシャーがフレームレートを指定した場合、動画ストリームの実際のフレームレートは frameRate Stream オブジェクトのプロパティですが、実際のフレームレートは、ネットワークやシステムの状態の変化に応じて変動します。開発者がフレームレートを指定しない場合、このプロパティの値は未定義となります。また、動画ソースが MediaStreamTrack オブジェクトである場合は( videoSource)、この値は無視され、フレームレートは MediaStreamTrack オブジェクトによって定義されます。このオブジェクトは、 getConstraints() MediaStreamTrack オブジェクトのメソッド。Vonage Video API Media Router を使用するセッション( メディアモード 「routed」に設定されている場合、フレームレートを下げると、ストリームが使用する最大帯域幅もそれに比例して減少します。ただし、メディアモードが「relayed」に設定されているセッションでは、フレームレートを下げてもストリームの帯域幅は減少しません。また、サブスクライバーのビデオストリームのフレームレートを制限することもできます。 サブスクライバーのフレームレートを制限するには、 restrictFrameRate() 加入者のメソッドに、以下を引数として渡して true. (参照: Subscriber.restrictFrameRate().) - 高さ (数値または文字列) — HTML ページに表示される Publisher 動画の初期の高さ (デフォルト: 198 ピクセル)。 ピクセル数は、数値(300 など)または「px」で終わる文字列(「300px」など)で指定できます。 あるいは、親要素のサイズに対する割合を、「%」で終わる文字列(例: 「100%」)で指定することもできます。 注: パブリッシャーの動画のサイズを変更するには、パブリッシャーのDOM要素のCSSを調整します( element Publisher オブジェクトのプロパティ)または(高さがパーセンテージで指定されている場合は)その親 DOM 要素(参照: 動画のサイズ変更や位置の調整). - 頭文字 (文字列) — このストリームの頭文字。この頭文字は、動画が無効化されており、かつ backgroundImageURI が設定されています。もし backgroundImageURI が設定されている場合、それが優先され、イニシャルの代わりに表示されます。イニシャルもまた、 initials Stream オブジェクトのプロパティです。1文字または2文字の文字列(大文字・小文字を問わない)であれば、どのようなものでも有効です。無効なイニシャルが使用された場合、エラーは発生せず、イニシャルは設定されません。- insertDefaultUI (ブール値) — デフォルトのVonage Video API UIを使用するかどうか (true(デフォルト)か、そうでないか(false). デフォルトのUI要素には、動画に加えて、ユーザーインターフェースのコントロール、動画の読み込みインジケーター、および動画の自動トリミングやレターボックス表示機能が含まれています。(もし insertDefaultUI に設定する true, 以下の方法を使用して、個々のUI設定を制御できます。 fitMode, showControlsそして style オプション。)このオプションを false, OpenTok.js は HTML DOM にデフォルトの UI 要素を挿入せず、その element Publisher オブジェクトのプロパティが未定義です。その代わりに、Publisher オブジェクトは videoElementCreated イベントが 発生したとき video 要素(インターネットエクスプローラでは object (動画を含む要素)が作成されます。その element イベントオブジェクトのこのプロパティは、パブリッシャーへの参照です。 video (または object) 要素。これを HTML DOM に追加して、動画を表示します。このオプションを false 発行元を移動したい場合は、 video (または object) 要素。これを falseを設定しないでください。 targetElement パラメータ。 (これにより、エラーが OT.initPublisher() コールバック関数。)動画をHTML DOMに追加するには、 videoElementCreated イベント、そして次に element イベントオブジェクトのプロパティをHTML DOMに追加します。 - insertMode (文字列) — Publisher オブジェクトが HTML DOM にどのように挿入されるかを指定します。詳しくは、 targetElement パラメータ。この文字列には、以下の値が指定できます: - "replace" — Publisher オブジェクトは、targetElement の内容を置き換えます。これがデフォルトの設定です。 - "after" — Publisher オブジェクトは、HTML DOM 内の targetElement の後に挿入される新しい要素です。(Publisher と targetElement は、どちらも同じ親要素を持っています。) - "before" — Publisher オブジェクトは、HTML DOM 内の targetElement の前に挿入される新しい要素です。(Publisher と targetElement は、どちらも同じ親要素を持っています。) - "append" — Publisher オブジェクトは、targetElement の子要素として追加される新しい要素です。他の子要素が存在する場合、Publisher は targetElement の最後の子要素として追加されます。 - maxResolution (オブジェクト) — ストリーミングする最大解像度を設定します。この設定は、 videoSource プロパティは次のように設定されています "application", "screen"あるいは "window" (配信者が画面共有を行っている場合)。ストリームの解像度は、キャプチャされた画面領域の解像度と一致しますが、その領域が maxResolution 設定。これを、2つのプロパティを持つオブジェクトに設定してください: width そして height (両方の数値)。それぞれの width そして height プロパティの最大値は 1920、最小値は 10 です。 - (ブール値) — パブリッシャーの動画画像が、パブリッシャーのページで反転表示されるかどうか。デフォルト値は true (動画の映像は左右反転しています)、ただし画面共有の動画(その際、 videoSource プロパティが "application", "screen"あるいは "window" (その場合は、デフォルトは false). このプロパティは、購読者の画面に表示される動画の表示には影響しません。 - 名称 (文字列) — このストリームの名前。この名前は、サブスクライバーの動画の下部に表示されます。デフォルト値は ""(空の文字列)です。これを 1000 文字を超える文字列に設定すると、実行時例外が発生します。 - ノイズ抑制 (ブール値) — 公開されるオーディオのノイズ抑制を有効にするかどうか。これを false 高品質なオーディオを公開する際(設定により audioBitrate プロパティの OT.initPublisher() オプション)。デフォルト値は true.を設定した場合、この設定は無視されます。 disableAudioProcessing ~へ true (これにより、配信中のストリームのエコーキャンセル、自動ゲイン制御、およびノイズ抑制が無効になります)。 - 推奨ビデオコーデック ('automatic' または、の配列 'vp8', 'vp9', 'h264') — 公開時に優先的に使用するビデオコーデックの優先順位を設定します。省略した場合、SDK はプロジェクトのデフォルト設定を使用します。 以下の値に設定してください: 'automatic' SDKに最適な順序を選定させる。 あるいは、コーデックの優先順位を指定するために明示的な配列を指定する (例: ['vp9', 'h264']). 無効な場合(空の配列やサポートされていないコーデックなど)、パブリッシャーの初期化は 以下のエラーで失敗します。 OT_INVALID_PARAMETER エラー。 - audioを公開する (ブール値) — ストリームの音声を最初に公開するかどうか(デフォルト: true). この設定は、呼び出しの際に Publisher オブジェクトを渡す場合に適用されます。 Session.publish() メソッド。 - publishVideo (ブール値) — ストリームの動画を最初に公開するかどうか(デフォルト: true). この設定は、呼び出しの際に Publisher オブジェクトを渡す場合に適用されます。 Session.publish() メソッド。 - キャプションを公開 (ブール値) — ストリームのキャプションを最初に公開するかどうか(デフォルト: false). この設定は、呼び出しの際に Publisher オブジェクトを渡す場合に適用されます。 Session.publish() メソッド。セッションレベルでキャプションが有効になっていない場合、このプロパティは効果を発揮しません。詳細については、 ライブ・キャプション 開発者ガイド。 - publishSenderStats (ブール値) — ストリームに対して送信者統計チャネルを有効にするかどうか(デフォルト: false). この設定は、呼び出しの際に Publisher オブジェクトを渡す場合に適用されます。 Session.publish() メソッド。 - 決議 (文字列) — 動画の希望解像度。文字列の形式は "widthxheight"、ここで幅と高さは ピクセル単位で表されます。有効な値は以下の通りです。 "1920x1080", "1280x720", "640x480", および "320x240". 公開された動画は、クライアントの設定が対応している場合にのみ、指定された解像度を使用します。一部のブラウザやクライアントでは、これらの解像度設定のすべてに対応していない場合があります。動画ストリームの要求解像度は、 videoDimensions.width そして videoDimensions.height Stream オブジェクトのプロパティ。解像度を指定しない場合、ブラウザはカメラのデフォルトの解像度を使用します。 ほとんどの物理カメラのデフォルト解像度は 640x480 ですが、その他のカメラ、特に仮想カメラでは、デフォルト解像度が異なります。クライアントシステムが要求した解像度をサポートできない場合、ストリームはサポートされている解像度の中で次に大きい設定を使用します。パブリッシャーが実際に使用している解像度は、 videoHeight() そして videoWidth() Publisher オブジェクトのメソッド。Subscriber ビデオストリームの実際の解像度は、 videoHeight() そして videoWidth() Subscriber オブジェクトのプロパティ。これらは、 resolution として渡されたプロパティ properties の属性 OT.initPublisher() メソッドでは、ブラウザが要求された解像度をサポートしていない場合、この値は無視されます。また、動画ソースが video MediaStreamTrack オブジェクトである場合( videoSource)、この値は無視され、解像度は MediaStreamTrack オブジェクトによって定義されます。このオブジェクトは、 getConstraints() MediaStreamTrack オブジェクトのメソッド。 - スケーラブルな画面共有 (ブール値) — の使用を許可するかどうか スケーラブルビデオ 次のような出版社にとっては、 videoSource に設定する。 "screen" (true) あるいはそうでない場合(false(デフォルト値)。 - scalableVideo (ブール値) — (true, デフォルト)または無効化(false) スケーラブルビデオ 発行者に対して。これは、ルーティングされたセッション( Vonage Video API メディアルーター). 注: デフォルトでは、画面共有動画ではスケーラブルビデオは無効になっています。これを設定するには、 scalableScreenshare オプションで true 画面共有ストリームでスケーラブルビデオを有効にするため。ただし、設定は scalableVideo への false すべての動画ソースに対してスケーラブルビデオを無効にします(および scalableScreenshare (画面共有ストリームの場合、設定は無視されます)。 - showControls (ブール値) — 組み込みのユーザーインターフェースコントロールを表示するかどうか(既定値: true) パブリッシャー用。これらのコントロールには、名前の表示、音量レベルインジケーター、およびマイクコントロールボタンが含まれます。このプロパティを false. このプロパティを次の値に設定したままにしておくことで、個々のユーザーインターフェースコントロールの表示を制御できます。 true (デフォルト)およびの個々のプロパティを設定し、 style プロパティ。 - スタイル (オブジェクト) — パブリッシャーのユーザーインターフェースコントロールの初期の外観を定義するプロパティを含むオブジェクト。この style このオブジェクトには、以下のプロパティが含まれます: - audioLevelDisplayMode (文字列) — オーディオレベルインジケーターの表示方法。指定可能な値は次のとおりです: "auto" (動画が無効になっているときは、このインジケーターが表示されます)、 "off" (インジケーターが表示されない)、および "on" (このインジケーターは常に表示されます)。 - archiveStatusDisplayMode (文字列) — アーカイブステータスインジケータの表示方法。指定可能な値は以下の通りです: "auto" (セッションの録画中は、このインジケーターが表示されます)、 "off" (インジケーターは表示されません)。アーカイブステータスの表示インジケーターを無効にすると、 archiveStarted そして archiveStopped Session オブジェクトによってディスパッチされるイベント。 - backgroundImageURI (文字列) — 動画が表示されない場合に背景画像として表示する画像の URI です。(以下の関数を呼び出すと、動画が表示されない場合があります。 publishVideo(false) (Publisher オブジェクト上で)。http または https の URI を、PNG、JPEG、または非アニメーション GIF ファイルの保存先に指定できます。また、 data URIスキーマ(httpやhttpsの代わりに)を使用し、base64エンコードされた PNGデータを渡します。例えば、 Publisher.getImgData() メソッド。(たとえば、 プロパティを、呼び出しによって返される値に設定することもできます。 getImgData() (以前の Publisher オブジェクトに対して。)URL または画像データが無効な場合、このプロパティは無視されます(画像の設定はエラーを返さずに失敗します)。 - buttonDisplayMode (文字列) — マイクコントロールの表示方法 取り得る値は以下の通りです: "auto" (コントロールは、ストリームが最初に表示されたとき、およびユーザーがディスプレイ上にマウスを合わせると表示されます)、 "off" (コントロールは表示されません)、そして "on" (コントロールは常に表示されます)。 - nameDisplayMode (文字列) — ストリーム名を表示するかどうか。 取り得る値は次のとおりです: "auto" (この名前は、ストリームが最初に表示されたとき、およびユーザーがマウスカーソルをその表示の上に合わせたときに表示されます)、 "off" (名前は 表示されません)、そして "on" (名前は常に表示されます)。 - videoDisabledDisplayMode (文字列) — パブリッシャーに対して、動画の無効化インジケーターおよび動画無効化警告アイコンを表示するかどうか。これらのアイコンは、ストリームの品質が低いため、動画が無効化されていること(警告アイコンの場合は無効化される恐れがあること)を示します。このスタイルはパブリッシャーオブジェクトにのみ適用されます。取り得る値は次のとおりです: "auto" (これらのアイコンは、表示中の動画が再生停止状態にある場合、またはストリームの画質が低いために再生停止になる恐れがある場合に自動的に表示されます)、 "off" (アイコンを表示しない)、および "on" (アイコンを表示する)。デフォルト設定は "auto". - videoContentHint (文字列) — パブリッシャーのストリームに含まれるビデオトラックのコンテンツヒントを設定します。これにより、ブラウザはコンテンツの種類により適したエンコード方法や処理方法を使用できるようになります。このプロパティには、以下のいずれかの値を設定できます: - "" — ヒントは表示されません(デフォルト)。 - "motion" — 動画が含まれているトラックについては、動きが重要な動画として扱う必要があります。たとえば、動画を含む画面共有ストリームでは、この設定を使用することができます。 - "detail" — このトラックは、動画の詳細が 特に重要であるかのように扱う必要があります。たとえば、テキストコンテンツやペイント、線画などが含まれる画面共有 配信では、この設定を使用するとよいでしょう。 - "text" — このトラックについては、テキストの詳細が特に重要であるかのように扱う必要があります。たとえば、テキストコンテンツを含む画面共有ストリームでこの設定を使用することができます。 「text」および「detailed」のコンテンツヒントが指定されている場合、ブラウザは、たとえ動画のフレームレートを下げなければならない場合でも、高解像度を維持しようとします。「motion」のコンテンツヒントが指定されている場合、ブラウザはフレームレートの低下を防ぐために解像度を下げます。これらのオプションの詳細については、 W3C ワーキングドラフト. 画面共有動画のパフォーマンスを最適化するために、動画コンテンツのヒントを設定することをお勧めします。たとえば、次のように設定できます。 "text" テキストが大量に含まれる画面(スライドショーなど)を共有する場合。 Chrome 60 以降、Safari 12.1 以降、Edge 79 以降、Opera 47 以降、Samsung Internet の最新バージョン、Android 70 以降の WebView、および iOS 12.2 以降の WebView は、動画コンテンツのヒントに対応しています。また、以下の項目も参照してください。 Publisher.setVideoContentHint() メソッド および この機能に関する開発者ガイドのトピック. - videoFilter (オブジェクト) — パブリッシャーのビデオストリームに適用されるビデオフィルターを定義するプロパティを含むオブジェクト。以下のフィルターがサポートされています: - 背景ぼかしフィルター - を設定する。 type オブジェクトのプロパティを "backgroundBlur". 背景ぼかしフィルターオブジェクトには、追加の blurStrength プロパティ。これはぼかしの半径を定義するもので、オプションです。これを次のいずれかに設定してください。 "low" または "high" (デフォルト)。 - 背景置換フィルター - を設定する。 type オブジェクトのプロパティを "backgroundReplacement". 背景置換フィルターオブジェクトには、追加の backgroundImgUrl このプロパティは、使用する背景画像のURLを定義します。また、画像BLOB(画像データをBase64エンコードした文字列)も指定可能です。 サポートされている画像形式は、BMP、PNG、JPEG、GIFです。 背景画像は、パブリッシャーの動画のサイズに合わせてリサイズされます。最適な結果を得るには、公開された動画と同じサイズ(または少なくとも同じアスペクト比)の画像を使用してください。 mirror ~するオプション false を呼び出すときに OT.initPublisher() パブリッシャーのページで、背景画像が正しい向き(反転していない状態)で表示されるようにする方法。注: 動画フィルターは、Chrome、Firefox、Electron、Opera、Edge、Samsung Internet、Android版WebViewの最新バージョン、およびSafari(バージョン26以降)とiOS版WebView(バージョン26以降)の最新バージョンでのみサポートされています。クライアントがこの機能をサポートしているかどうかは、 OT.hasMediaProcessorSupport('video') メソッド。ビデオフィルターは、 Publisher.applyVideoFilter() メソッド。 ビデオフィルターは、 Publisher.clearVideoFilter() メソッド。 - videoSource (String、MediaStreamTrack、Boolean、または null) — パブリッシャーが使用するビデオ入力デバイス(カメラなど)の ID。ビデオ入力デバイスを含む利用可能なデバイスのリストは、 OT.getDevices() メソッド。このメソッドによって一覧表示される各デバイスには、一意のデバイスIDが割り当てられています。既存のビデオ入力デバイスと一致しないデバイスIDを渡した場合、 OT.initPublisher() 完了ハンドラ関数にエラー(エラーコード 1500、「公開できませんでした」)が渡され、処理が失敗します。このプロパティを null または false, ブラウザはカメラへのアクセスを要求せず、動画も配信されません。音声のみの通話では、このプロパティを null または false 各パブリッシャーについて。画面共有ストリームを公開するには、このプロパティを "screen". 古いバージョンのブラウザでは、次のように渡すこともできました "application" または "window" 画面共有のソースの種類を指定するためです。ただし、画面共有をサポートする現在のブラウザでは、これらの値のいずれを指定しても動作は同じになります。つまり、ブラウザはダイアログボックスを表示し、エンドユーザーが画面共有のソース(画面全体または特定のウィンドウ)を選択します。 Electron では、画面共有はユーザーに許可を求めることなく、画面全体をキャプチャします。画面共有ストリームの場合、その他のプロパティのデフォルト値は以下の通りです: audioFallbackEnabled == false, maxResolution == {width: 1920, height: 1920}, mirror == false, scaleMode == "fit". また、デフォルトの scaleMode このストリームの購読者に対する設定は、 "fit". Safariでは、ユーザー操作ハンドラを指定せずに画面共有のパブリッシャーを初期化すると、 InvalidAccessError エラー。このプロパティを動画に設定することもできます。 MediaStreamTrack オブジェクト。これにより、MediaStreamTrack オブジェクトを、公開されるストリームの動画ソースとして使用できるようになります。たとえば、 captureStream() HTMLCanvasElement のメソッドを呼び出し、その後、 getVideoTracks() CanvasCaptureMediaStream オブジェクトのメソッドを使用して、ビデオの MediaStreamTrack オブジェクトを取得します。あるいは、 videoTracks HTMLMediaElement オブジェクトのプロパティ。あるいは、 getLocalStreams() または getRemoteStreams() RTCPeerConnection オブジェクトのメソッドを使用して MediaStream オブジェクトの配列を取得し、その後、 getVideoTracks() MediaStream オブジェクトのメソッドを呼び出して、ビデオの MediaStreamTrack オブジェクトの配列を取得します。デフォルトでは、パブリッシャーはマイクをオーディオソースとして使用するため、必ず audioSource MediaStreamTrackをオーディオソースとして使用したい場合、またはオーディオトラックを公開したくない場合にこのオプションを選択します。デフォルトは mirror MediaStreamTrack ビデオソースを持つパブリッシャーの設定は、次のとおりです。 false. お電話でもお問い合わせいただけます OT.getUserMedia() マイクとカメラを音声および映像のソースとして使用する MediaStream オブジェクトを取得するには。 - (数値または文字列) — HTML ページに表示される Publisher 動画の初期幅(デフォルト:264 ピクセル)。 ピクセル数は、数値(400 など)または「px」で終わる文字列(「400px」など)で指定できます。 あるいは、親要素のサイズに対する割合を、「%」で終わる文字列(例: 「100%」)で指定することもできます。 注: パブリッシャーの動画のサイズを変更するには、パブリッシャーのDOM要素のCSSを調整します( element Publisher オブジェクトのプロパティ)または(幅がパーセンテージで指定されている場合は)その親 DOM 要素(参照: 動画のサイズ変更や位置の調整).
completionHandler 機能 (オプション)Publisher オブジェクトの初期化が成功または失敗した際に呼び出される関数。この関数は 1 つのパラメータを受け取ります―― error. 成功した場合、その error object は null. 失敗した場合は、 error このオブジェクトには2つのプロパティがあります: code (整数)および message (文字列)で、失敗の原因を特定します。ユーザーがカメラおよびマイクへのアクセスを許可した場合、このメソッドは成功します。ユーザーがカメラおよびマイクへのアクセスを拒否した場合、このメソッドは失敗します。この completionHandler Publisher が accessAllowed (success) イベント、または accessDenied (失敗)イベント。次のコードは、 completionHandler を呼び出すときに OT.initPublisher() メソッド: var publisher = OT.initPublisher('publisher', null, function (error) { if (error) { console.log(error); } else { console.log("Publisher initialized."); } });

参照: : - Session.publish()

リターンズ

Publisher オブジェクト。

(static) initSession(apiKey, sessionId, options) → {セッション}

指定されたセッション ID に対応するローカルセッションオブジェクトを初期化し、それを返します。

Vonage Video API セッションへの接続は、 connect() メソッド によって返されるSessionオブジェクトの OT.initSession() メソッド。 なお、 OT.initSession() クラウドとの通信を開始するわけではありません。 単に、接続(および接続後のその他の操作の実行)に使用できる Session オブジェクトを初期化するだけです。

なお、1つのセッションIDにつき、初期化できるSessionオブジェクトは1つだけです。 OT.initSession() 同じセッション ID で 2 回目以降に呼び出すと、 以前に作成された Session オブジェクトが返されます。ただし、異なるセッション(異なるセッション ID)用に複数の Session オブジェクトを初期化することで、 複数のセッションに接続することができます。

クライアントがセッションから切断すると(そしてセッションが sessionDisconnected イベント)が発生した場合、Session オブジェクトを再利用して セッションに再接続することができます。ただし、Session オブジェクトには、 それまでに登録されていたイベントハンドラがすべて保持されたままになります。すべてのイベントハンドラを削除するには、 off() Session オブジェクトのメソッド(引数を指定しない)。

例については、以下を参照してください。 Session.connect().

パラメータ:
名称 タイプ 説明
apiKey ストリング お客様のVonage Video APIキー(詳細は Vonage Video API アカウントページ).
sessionId ストリング Vonage Video API セッションを識別するセッション ID です。詳細については、以下を参照してください。 セッションの作成.
options 目的 セッションの初期化に関するオプションを含むオブジェクト。このオブジェクトには、以下のプロパティが含まれます: - connectionEventsSuppressed — (ブール値) このプロパティを true 大規模なインタラクティブ動画セッションをサポートするためです。これにより、Session オブジェクトによるディスパッチが防止されます connectionCreated そして connectionDestroyed 他のクライアントがセッションに接続したり、セッションから切断したりした際のイベント。(なお、Vonage Video API サーバーは、これらのイベントを Web クライアントに送信しません。) 詳細については、以下を参照してください。 接続イベントの抑制 Vonage Video API の開発者向けガイド内。 - ipWhitelist — (ブール値) これは アドオン機能. これを次のように設定します true プロジェクトでIPホワイトリストが有効になっている場合。 デフォルト値は false. - iceConfig — (オブジェクト) このオブジェクトには、以下のプロパティが含まれています: - includeServers (String) - 以下のように設定する。 'custom' また、クライアントは、あなたが customServers 配列に設定します。これを 'all' (デフォルト)の場合、クライアントは、指定されたカスタム TURN サーバーと OpenTok TURN サーバーの両方を使用します。 - transportPolicy (String) - 以下のように設定する。 'all' (デフォルト)に設定すると、クライアントはすべての ICE トランスポートタイプ(host、srflx、TURN など)を使用してメディア接続を確立します。これを 'relay' 常にTURNを介して接続を確立し、他のすべてのICE候補を無視するようにする。 - customServers (配列) — カスタム TURN サーバーを定義するオブジェクトの配列を指定します。各オブジェクトは 1 つのカスタム TURN サーバーに対応しており、以下のプロパティを含みます: urls — 文字列または文字列の配列。各文字列は、TURNサーバーがサポートするURLである(URLは1つだけの場合もある)。 username — このオブジェクトで定義された TURN サーバーのユーザー名(文字列); credential — このオブジェクトで定義されたTURNサーバーの認証情報文字列。この機能は、設定可能なTURNの一部です。 アドオン機能. 詳細およびコードサンプルについては、 設定可能なTURNサーバー 開発者ガイド。 - encryptionSecret — (文字列) これは、エンドツーエンド暗号化機能で使用される初期暗号化秘密鍵です。詳しくは 開発者ガイド. - singlePeerConnection — (ブール値) を有効にします。 シングルピア接続 (SPC) 機能。デフォルトは false (SPCは無効になっています)。 - sessionMigration — (ブール値) セッション移行機能を有効にし、サーバーのローテーション中もクライアントが接続を維持できるようにします。デフォルト値は false (セッションの移行は有効になっていません)。詳細については、以下を参照してください。 サーバーのローテーションとセッションの移行.
リターンズ

セッションとの今後のすべてのやり取りが 行われるセッションオブジェクト。

(static) log(message)

デバッガのコンソールに文字列を出力します。ただし、この関数は、ログレベルが に設定されている場合にのみ、コンソールにログを出力します。 OT.LOG または OT.DEBUG, 呼び出すことで OT.setLogLevel(OT.LOG) または OT.setLogLevel(OT.DEBUG).

パラメータ:
名称 タイプ 説明
message ストリング ログに記録する文字列。

参照: : - OT.setLogLevel()

(static) off(type, handler, context)

イベントハンドラを削除します。

イベント名とハンドラメソッドを渡すと、そのイベントのハンドラが削除されます:

OT.off("exceptionEvent", exceptionEventHandler);

イベント名を引数として渡すと、 いいえ ハンドラメソッドでは、その イベントに対してすべてのハンドラが削除されます:

OT.off("exceptionEvent");

このメソッドは、別の構文もサポートしています。この構文では、最初のパラメータは イベント名とハンドラ関数を 対応付けたハッシュマップであるオブジェクトとなり、2番目のパラメータ(省略可能)は、 ハンドラのマッチングに使用するコンテキストとなります:

OT.off(
  {
    exceptionEvent: exceptionEventHandler
  },
  this
);
パラメータ:
名称 タイプ 説明
type ストリング (オプション)イベントの種類を識別する文字列。スペースを使って複数のイベントを指定することもできます(例:「eventName1 eventName2 eventName3」)。何も指定しない場合は type 値(またはその他の引数)が指定されると、そのオブジェクトのすべてのイベントハンドラが削除されます。
handler 機能 (オプション)削除するイベントハンドラ関数。何も渡さない場合は handler, 指定されたイベントに対するすべてのイベントハンドラが削除されます type.
context 目的 (任意)もし context, 指定されたすべてのイベントおよび、指定されたコンテキストを使用するハンドラについて、イベントハンドラが削除されます。

参照: : - on() - once() - イベント

(static) on(type, handler, context)

1つ以上のイベントに対するイベントハンドラ関数を追加します。

OTオブジェクトは、ある種のイベント、すなわち exception イベント。以下の コードは、 イベントのリスナーを追加します。 exception イベントを開催する:

OT.on("exception", function (event) {
  // This is the event handler.
});

3つ目を渡すこともできます context (オプションの)パラメータを使用して、 の値を定義します。 this ハンドラメソッド内で:

OT.on("exception",
  function (event) {
    // This is the event handler.
  }),
  session
);

イベントに対するハンドラを追加しない場合、そのイベントはローカルでは無視されます。

パラメータ:
名称 タイプ 説明
type ストリング イベントの種類を識別する文字列。
handler 機能 イベントを処理するためのハンドラ関数です。この関数は、イベントオブジェクトをパラメータとして受け取ります。
context 目的 (オプション)の値を定義します。 this イベントハンドラ関数内で。

参照: : - off() - once() - イベント

(static) once(type, handler, context)

イベントに対するイベントハンドラ関数を追加します。ハンドラが呼び出されると、指定されたハンドラ メソッドは、 このイベントのハンドラとして削除されます。( OT.on() イベント ハンドラを追加する方法として、そのハンドラは 次のとおりです。 違う (呼び出された際に削除されます。)その OT.once() このメソッドは、 を呼び出すことと同じです。 OT.on() メソッドと呼び出し OT.off() ハンドラが最初に呼び出されたとき。

以下のコードは、 exception イベントを開催する:

OT.once("exception", function (event) {
  console.log(event);
}

3つ目を渡すこともできます context (オプションの)パラメータを使用して、 の値を定義します。 this ハンドラメソッド内で:

OT.once("exception",
  function (event) {
    // This is the event handler.
  },
  session
);

このメソッドは、別の構文もサポートしています。この構文では、最初のパラメータは イベント名とハンドラ関数を 対応付けたハッシュマップであるオブジェクトとなり、2番目のパラメータ(オプション)は、 各ハンドラ内でのこのオブジェクトのコンテキストとなります:

OT.once(
  {exeption: function (event) {
    // This is the event handler.
    }
  },
  session
);
パラメータ:
名称 タイプ 説明
type ストリング イベントの種類を識別する文字列です。この文字列には、スペースで区切って複数のイベント名を指定できます。イベントハンドラは、指定されたイベントのうち最初に発生したものを処理します。最初のイベントが発生した後、ハンドラは(指定されたすべてのイベントについて)削除されます。
handler 機能 イベントを処理するためのハンドラ関数です。この関数は、イベントオブジェクトをパラメータとして受け取ります。
context 目的 (オプション)の値を定義します。 this イベントハンドラ関数内で。

参照: : - on() - once() - イベント

(static) registerScreenSharingExtension(kind, id, version)

古いバージョンのChromeまたはOperaで画面共有に対応するための拡張機能を登録してください。

注: Chrome 72以降およびOpera 59以降では、画面共有用拡張機能は必要ありません。 エンドユーザーには、カメラへのアクセスを許可する場合と同様に、 画面へのアクセスを許可するよう求められます。画面共有用拡張機能が必要なのは、 OperaおよびChromeの旧バージョンのみです。

を使用する。 OT.checkScreenSharingCapability() 拡張機能が 必須か、登録済みか、インストール済みかを確認する方法。

Vonage Video API 画面共有拡張機能 このリポジトリには、画面共有機能をサポートする拡張機能を作成するためのコードが含まれています。

パラメータ:
名称 タイプ 説明
kind ストリング このパラメータを "chrome". 現在、画面共有拡張機能の登録は、ChromeおよびOperaの旧バージョンでのみ可能です。
id ストリング 画面共有拡張機能のIDです。このIDは「chrome://extensions」で確認できます。
version Numbers の画面共有拡張機能のバージョンは、 画面共有拡張機能 repo。バージョン 2 以降を使用している場合は、これを設定してください。たとえば、バージョン 2 を使用している場合は、これを 2 に設定します。バージョン 2 では、クライアントは拡張機能をインストールした後、ページを再読み込みすることなく、すぐに使用することができます。

参照: : - OT.initPublisher() - OT.checkScreenSharingCapability()

(static) removeEventListener(type, listener)

この方法は非推奨です。代わりに off() その代わりだ。

特定のイベントに対するイベントリスナーを解除します。

以下の場合、例外をスローします。 listener 名前が無効です。

パラメータ:
名称 タイプ 説明
type ストリング イベントの種類を識別する文字列。
listener 機能 削除するイベントリスナー関数。

参照: : - off()

(static) reportIssue(completionHandler) →{Promise.<string>}

アプリで問題が発生したことを報告してください。問題IDは、以下の方法で使用できます。 インスペクター あるいは、 Vonage API サポートチームと 問題について話し合う際など。

パラメータ:
名称 タイプ 説明
completionHandler 機能 このメソッドの呼び出しが成功または失敗した際に呼び出されるオプションの関数です。この関数には2つのパラメータがあります。1つ目のパラメータは エラー 呼び出し時に設定されるオブジェクト reportIssue() メソッドが失敗するか(たとえば、クライアントがネットワークに接続されていない場合)、あるいは null への呼び出しが reportIssue() メソッドが成功します。呼び出しが成功した場合、2番目のパラメータにはレポートID(一意の文字列)が設定されます。
リターンズ

レポートIDに対応する約束

(static) setAudioOutputDevice() →{Promise}

新しいオーディオ出力デバイスを設定します。

このメソッドは、操作が正常に完了した際に解決されるPromiseを返します。 エラーが発生した場合は、そのPromiseは拒否されます。

: 現在、以下のデスクトップ版ブラウザに対応しています:Chrome 49以降、 Firefox 116以降、Edge 17以降、Opera 36以降、Safari 26以降、およびiOS 26以降のWebView。

参照: : - OT.getAudioOutputDevices() - OT.getActiveAudioOutputDevice()

リターンズ

操作が正常に完了した際に解決されるプロミスです。 エラーが発生した場合は、プロミスは拒否されます。

(static) setLogLevel(logLevel)

APIのログレベルを設定します。

呼び出し OT.setLogLevel() Vonage Video API ライブラリによって生成される 実行時ログメッセージのログレベルを設定します。ログレベルのデフォルト値は OT.ERROR.

Vonage Video API の JavaScript ライブラリは、デバッガーコンソール( Firebug など)が存在する場合、そこにログメッセージを表示します。

次の例では、以下を呼び出すことで、セッション ID をコンソールに出力します。 OT.log(). また、このコードでは、セッションに接続する前に( を呼び出すことで)ストリームの公開を試みた場合、エラーメッセージがログに記録されます。 Session.connect()).

OT.setLogLevel(OT.LOG);
session = OT.initSession(sessionId);
OT.log(sessionId);
publisher = OT.initPublisher("publishContainer");
session.publish(publisher);
パラメータ:
名称 タイプ 説明
logLevel Numbers 開発者が希望する伐採の程度: - OT.NONE — APIのロギングは無効になっています。 - OT.ERROR — エラーのみを記録します。 - OT.WARN — 警告およびエラーの記録。 - OT.INFO — 警告やエラーに加え、その他の有用な情報の記録。 - OT.LOG — の記録 OT.log() メッセージ、およびVonage Video APIに関する情報、警告、エラーメッセージ。 - OT.DEBUG — すべてのAPI操作の詳細なログ記録に加え、 OT.log() メッセージ。

参照: : - OT.log()

(static) setProxyUrl()

IPプロキシサーバーのURLを設定します。IPプロキシ機能を使用すると、クライアントは (メディアストリームを除く)すべてのインターネットトラフィックを、このプロキシサーバー経由でルーティングします。

他のVonage Video APIメソッドを呼び出す前に、必ずこのメソッドを呼び出す必要があります。 これにより、Vonage Video APIのトラフィックにプロキシサーバーが確実に使用されるようになります。そうしないと、 呼び出しは失敗し、 OT オブジェクトは exception イベントを開催する。その OT このオブジェクトは、さらに exception このメソッドを以前に呼び出した後に 再度呼び出した場合でも、イベントが発生します。

これはアドオン機能として利用可能です。詳細については、 IPプロキシ開発者 ガイド.

(static) unblockAudio()

オーディオがブロックされているブラウザでも、購読者のオーディオを再生できるようにします。 このメソッドは、HTML要素が a click イベントを開催する。

このメソッドを呼び出す必要があるのは、 サブスクライバーのデフォルトのオーディオ再生アイコンの表示を無効にする場合( style.audioBlockedDisplayMode プロパティの options パラメーターの Session.subscribe() メソッド)。 このメソッドは、ページ上に表示したHTML要素を ユーザーがクリックした際に呼び出すことができます。

加入者は、 audioBlocked イベント オーディオがブロックされた場合。そのイベントに応答して、UI 要素を表示し、エンドユーザーに再生サブスクライバーのオーディオに対応するよう通知することができます。 以下の関数を呼び出します。 OT.unblockAudio() ユーザーがDOM要素をクリックした際に 実行されるメソッド。

注: また、ローカルクライアントがカメラやマイクへのアクセス権を取得した場合(たとえば、 への呼び出しが成功した際など)、 加入者の音声も自動的にブロックが解除されます。 OT.initPublisher()).

参照: : - Subscriber.isAudioBlocked() - その audioBlocked そして audioUnblocked 加入者向けイベント

リターンズ

Promise このプロミスは、ブロックされたすべてのサブスクライバーでオーディオの再生が成功した場合に解決されます。 再生に失敗した場合は、プロミスはリジェクトされます。 参照 エラー 詳細はこちら。

(static) upgradeSystemRequirements()

Vonage Video API for WebRTC のシステム要件に関する情報を表示します。この 情報は、ブラウザウィンドウ全体に表示される iframe 要素内に表示されます。

注: この情報は、以下の関数を呼び出すと自動的に表示されます。 OT.initSession() または OT.initPublisher() メソッド クライアントがWebRTC用のVonage Video APIに対応していない場合。

注: この関数は将来的に非推奨となる予定です。

参照: : - OT.checkSystemRequirements()

イベント

例外

アプリで例外が発生した際に、OTクラスによって呼び出されます。 なお、 exception イベントを呼び出すには、 OT.on() メソッドを使用する。

参照: : - 例外イベント