オーディオのフォールバック — React Native
OpenTokのオーディオフォールバックAPIを使用して、ネットワーク品質に応じてオーディオの優先順位を動的に調整します。
概念的な情報については オーディオ・フォールバックの概要.
注: について audioFallbackEnabled の支柱である。 OTPublisher コンポーネントは非推奨となります。コンポーネントには audioFallback.subscriber の代わりに設定する。
このトピックには以下のセクションが含まれます:
音声のみのフォールバックの有効化と無効化
を設定する。 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プロパティは非推奨となる。
オーディオのフォールバックイベント
パブリッシャーオーディオのフォールバックが有効になっている場合、OTPublisher コンポーネントのコールバックメソッドは、品質条件の変化に応じて呼び出されます:
videoDisableWarning()- ストリームの品質が低下したとパブリッシャーが判断したときに呼び出され、品質がさらに低下した場合は動画が無効になります。videoDisableWarningLifted()- パブリッシャーが、ストリームの品質が改善され、無効になっている動画が直ちに危険にさらされることはないと判断した場合に呼び出されます。videoDisabled()- ストリームの品質が低下し、送信ビデオ・トランスポートが無効になったとパブリッシャが判断した場合に呼び出されます。注: 動画が無効になっても、パブリッシャはパブリッシング・クライアントの UI にパブリッシャの動画(カメラ画像など)を表示します。videoEnabled()— 以下の件で電話がありましたreasonパブリッシャーがストリームの品質が向上し、送信側のビデオ転送が再有効化されたと判断した場合、このプロパティは「quality」に設定されます。
例えば、次のコードは、オーディオのフォールバック関連イベントのイベントリスナーを追加します(ユーザーインターフェイス通知を提供できるようにします):
<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
eventHandlers={{
videoDisableWarning: () => {
// Add UI notification
},
videoDisableWarningLifted: () => {
// Adjust UI notification
},
videoDisabled: () => {
// Add UI notification
},
videoEnabled: () => {
// Remove UI notification
},
}}
/>