音声フォールバックAPIを使用して、ネットワーク品質に応じて音声を動的に優先させる。
注: について audioFallbackEnabled の支柱である。 OTPublisher コンポーネントは非推奨となります。コンポーネントには audioFallback.subscriber の代わりに設定する。
Enabling and disabling audio-only fallback
を設定する。 audioFallback プロパティの properties に渡す。 OTPublisher コンポーネントを使用している:
// Enable subscriber audio fallback (the default)
// and publisher audio fallback:
<OTPublisher
properties={{
audioFallback={
publisher: true,
},
}}
/>
});
// Enable publisher audio fallback and disable subscriber audio fallback:
<OTPublisher
properties={{
audioFallback: {
publisher: true,
subscriber: false,
},
}}
/>
// Enable subscriber audio fallback and disable publisher audio fallback:
<OTPublisher
properties={{
audioFallback: {
publisher: false,
subscriber: true,
},
}}
/>
// Disable both publisher audio fallback (the default)
// and subscriber audio fallback:
<OTPublisher
properties={{
audioFallback: {
subscriber: false,
},
}}
/>
について audioFallback オブジェクトには2つのブール・プロパティがある:
publisher- を有効にするかどうか(true)または無効(false)パブリッシャーオーディオフォールバック。パブリッシャーオーディオのフォールバックを有効にすると、ストリームの品質が(例えばネットワークの状態によって)著しく劣化した場合、パブリッシャーはオーディオの品質を保つためにビデオを無効にします。デフォルトはfalse(パブリッシャーオーディオのフォールバックは無効)。subscriber- を有効にするかどうか(true)または無効(false)加入者オーディオのフォールバック。この設定は、ルーティングされたセッション( ビデオ・メディア・ルーター).加入者音声フォールバックは、中継セッションでサポートされていません。加入者音声フォールバックを有効にすると、Vonage Video Media Routerは、特定の加入者についてストリームの品質が著しく低下したと判断した場合、音声品質を維持するためにその加入者のビデオを無効にします。デフォルトはtrue(加入者音声フォールバックが有効)。この設定はaudioFallbackEnabledプロパティは非推奨となる。
Audio fallback events
パブリッシャーオーディオのフォールバックが有効になっている場合、OTPublisher コンポーネントのコールバックメソッドは、品質条件の変化に応じて呼び出されます:
videoDisableWarning()- ストリームの品質が低下したとパブリッシャーが判断したときに呼び出され、品質がさらに低下した場合は動画が無効になります。videoDisableWarningLifted()- パブリッシャーが、ストリームの品質が改善され、無効になっている動画が直ちに危険にさらされることはないと判断した場合に呼び出されます。videoDisabled()- ストリームの品質が低下し、送信ビデオ・トランスポートが無効になったとパブリッシャが判断した場合に呼び出されます。注: 動画が無効になっても、パブリッシャはパブリッシング・クライアントの UI にパブリッシャの動画(カメラ画像など)を表示します。videoEnabled()- パブリッシャーがストリームの品質が向上し、発信ビデオ・トランスポートが再有効化されたと判断したときに、'quality' に設定された reason プロパティとともに呼び出される。
例えば、次のコードは、オーディオのフォールバック関連イベントのイベントリスナーを追加します(ユーザーインターフェイス通知を提供できるようにします):
<OTPublisher
properties={{
audioFallback: {
publisher: true,
}
}}
eventHandlers={{
videoDisableWarning: () => {
// Add UI notification
},
videoDisableWarningLifted: () => {
// Adjust UI notification
},
videoDisabled: () => {
// Add UI notification
},
videoEnabled: () => {
// Remove UI notification
},
}}
/>
加入者の観点からは、以下のイベントはオーディオのフォールバックが発生したことを示す。これらのイベントは サブスクライバーの観点からは、以下のイベントは、オーディオのフォールバッ クが発生したことを示す。言い換えれば パブリッシャーとサブスクライバーのオーディオのフォールバックの違いは、パブリッシャー の場合、パブリッシングクライアントが、それ自身のストリームに基づいてオーディオ のフォールバックをトリガーする可能性がある、ということである。 そのため、追加のパブリッシャー側イベントがディスパッチされる。サブスクライバー・オーディオ フォールバックの場合、Vonage Video Media Router は加入者に影響するネットワークの劣化を評価します。どちらの場合も、パブリッシャーまたは サブスクライバーオーディオのフォールバックが発生すると、サブスクライバーイベントが常にディスパッチされ、レシーバーでオーディオのフォールバックが発生したことを示します。
OTSubscriber コンポーネントには、サブスクライバのストリームでビデオが有効または無効になったことに関連するイベントに基づいて呼び出されるコールバック・メソッドが含まれています:
videoEnabled() - ビデオが無効化された後に有効化されたときに呼び出される。
videoDisabled() - 動画が無効になったときに呼び出される。イベントオブジェクトの reason プロパティは、ビデオが無効になった理由を示す。(このイベントオブジェクトは ビデオ有効変更イベント オブジェクト)
videoDisableWarning() - ストリームの品質が劣化したと判断されたときに呼び出され、品質がさらに劣化すると、ビデオは無効になります。品質がさらに劣化すると、サブスクライバはビデオを無効にし、videoDisabled() コールバックを呼び出します。このイベントは、パブリッシャーのストリーム品質が劣化した場合、パブリッシャーオーディオのフォールバック機能を使用するときにもディスパッチされることがある。
videoDisableWarningLifted() - 以前は無効になっていたビデオが有効になったときに呼び出される。
OTSubscriber videoDisableWarning() そして videoDisableWarningLifted() コールバックメソッドは、メディアルーターを使用するセッション(メディアモードがroutedに設定されているセッション)でのみ呼び出される。
例えば、次のコードは、オーディオのフォールバック関連イベントのイベントリスナーを追加します(ユーザーインターフェイス通知を提供できるようにします):
<OTSubscriber
eventHandlers={{
videoDisableWarning: () => {
// Add UI notification
},
videoDisableWarningLifted: () => {
// Adjust UI notification
},
videoDisabled: () => {
// Add UI notification
},
videoEnabled: () => {
// Remove UI notification
},
}}
/>