Use a API de fallback de áudio para priorizar dinamicamente o áudio de acordo com a qualidade da rede.

Observação: O audioFallbackEnabled adereço do OTPublisher O componente será descontinuado. Por favor, use o audioFallback.subscriber em vez disso, definir.

Enabling and disabling audio-only fallback

Defina o audioFallback propriedade do properties parâmetro que você passa para o OTPublisher componente:

// 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,
    },
  }}
/>

O audioFallback O objeto inclui duas propriedades booleanas:

  • publisher — Se deve ser ativado (true) ou desativar (false) fallback de áudio do editor. Com o fallback de áudio do editor ativado, quando a qualidade da transmissão se degrada significativamente (por exemplo, devido às condições da rede), o editor desativa o vídeo para preservar a qualidade do áudio. O padrão é false (o recurso de substituição de áudio da editora está desativado).
  • subscriber — Se deve ser ativado (true) ou desativar (false) alternância de áudio do assinante. Essa configuração se aplica apenas a sessões roteadas (sessões que utilizam o Roteador de mídia de vídeo da Vonage). O recurso de fallback de áudio do assinante não é compatível com sessões retransmitidas. Com o fallback de áudio do assinante ativado, quando o Vonage Video Media Router determina que a qualidade de um stream se deteriorou significativamente para um assinante específico, ele desativa o vídeo para esse assinante a fim de preservar a qualidade do áudio. O padrão é true (o recurso de fallback de áudio para assinantes está ativado). Essa configuração substitui a audioFallbackEnabled propriedade, que será descontinuada.

Audio fallback events

Quando o recurso de fallback de áudio do publisher está ativado, os métodos de callback do componente OTPublisher são chamados em resposta a mudanças nas condições de qualidade:

  • videoDisableWarning() — É chamado quando o Publisher determina que a qualidade da transmissão se deteriorou e que o vídeo será desativado caso a qualidade se deteriore ainda mais.
  • videoDisableWarningLifted() — Chamado quando o Publisher determina que a qualidade da transmissão melhorou a ponto de o vídeo que está sendo desativado não representar mais um risco imediato.
  • videoDisabled() — É chamado quando o Publisher determina que a qualidade do stream se deteriorou e o transporte de vídeo de saída foi desativado. Observação: enquanto o vídeo estiver desativado, o Publisher continua exibindo o vídeo do Publisher (como a imagem da câmera) na interface do usuário do cliente de publicação.
  • videoEnabled() — É chamada com a propriedade “reason” definida como “quality” quando o Publisher determina que a qualidade do stream melhorou e o transporte de vídeo de saída foi reativado.

Por exemplo, o código a seguir adiciona ouvintes de eventos relacionados ao fallback de áudio (para que você possa fornecer notificações na interface do usuário):

<OTPublisher
  properties={{
    audioFallback: {
      publisher: true,
    }
  }}

  eventHandlers={{
    videoDisableWarning: () => {
      // Add UI notification
    },
    videoDisableWarningLifted: () => {
      // Adjust UI notification
    },
    videoDisabled: () => {
      // Add UI notification
    },
    videoEnabled: () => {
      // Remove UI notification
    },
  }}
/>

Do ponto de vista do assinante, os eventos a seguir indicam que ocorreu um fallback de áudio. Embora esses eventos estejam vinculados ao assinante, eles podem ocorrer tanto devido ao fallback de áudio do assinante quanto como consequência do fallback de áudio do editor. Em outras palavras, a diferença entre o fallback de áudio do editor e do assinante é que, no caso do editor, o cliente editor pode acionar o fallback de áudio com base na degradação de seu próprio fluxo, razão pela qual eventos adicionais do lado do editor são disparados. Para o fallback de áudio do assinante, o Vonage Video Media Router avalia a degradação da rede que afeta o assinante. Em ambos os casos, após o fallback de áudio do editor ou do assinante, eventos do assinante são sempre enviados para indicar que ocorreu um fallback de áudio para o receptor.

O componente OTSubscriber inclui métodos de retorno de chamada que são acionados com base em eventos relacionados à ativação ou desativação do vídeo na transmissão do assinante:

videoEnabled() — É chamado quando o vídeo é ativado após ter sido desativado anteriormente. videoDisabled() — É chamado quando o vídeo é desativado. A propriedade “reason” do objeto de evento indica o motivo pelo qual o vídeo foi desativado. (Esse objeto de evento é um Evento de alteração da ativação de vídeo objeto.) videoDisableWarning() — É acionado quando se constata que a qualidade do stream se deteriorou e que o vídeo será desativado caso a qualidade se deteriore ainda mais. Se a qualidade se deteriorar ainda mais, o Assinante desativa o vídeo e aciona a função de retorno videoDisabled(). Esse evento também pode ser acionado ao usar o recurso de fallback de áudio do editor, caso a qualidade do stream do editor tenha se deteriorado. videoDisableWarningLifted() — É chamado quando o vídeo é ativado após ter sido desativado anteriormente. O OTSubscriber videoDisableWarning() e videoDisableWarningLifted() Os métodos de retorno de chamada só são invocados em sessões que utilizam o Media Router (sessões com o modo de mídia definido como “routed”).

Por exemplo, o código a seguir adiciona ouvintes de eventos relacionados ao fallback de áudio (para que você possa fornecer notificações na interface do usuário):

<OTSubscriber
  eventHandlers={{
    videoDisableWarning: () => {
      // Add UI notification
    },
    videoDisableWarningLifted: () => {
      // Adjust UI notification
    },
    videoDisabled: () => {
      // Add UI notification
    },
    videoEnabled: () => {
      // Remove UI notification
    },
  }}
/>