Legendas em tempo real — React Native
Use a API de legendas ao vivo da OpenTok para habilitar a legenda em tempo real do áudio dos emissores e assinantes conectados a uma sessão da OpenTok.
A legenda em tempo real deve ser ativada no nível da sessão por meio do API REST.
A legenda em tempo real é compatível apenas em sessão encaminhada.
Este tópico inclui as seguintes seções:
- Publicação de legendas em tempo real
- Inscrever-se para receber legendas em tempo real
- Recebendo legendas em tempo real
- Como receber suas próprias legendas em tempo real
- Aplicativo de exemplo
Publicação de legendas em tempo real
Para ativar as legendas em tempo real, inicialize o OTPublisher componente com o booleano opcional publishCaptions propriedade do properties prop definido como true:
<OTPublisher
style={{width: 400, height: 300}}
properties={{
publishCaptions: true,
// ... other properties
}}
/>
Essa configuração é false por padrão.
Você pode alterar dinamicamente essa propriedade (com base em uma mudança no estado do React) para ativar ou desativar as legendas da transmissão publicada.
Inscrever-se para receber legendas em tempo real
Para começar a receber legendas, configure o subscribeToCaptions propriedade do properties adereço do OTSubscriber componente:
<OTSubscriber
style={{width: 200, height: 200}}
properties={{
subscribeToCaptions: true,
// ... other properties
}}
eventHandlers={{
captionReceived: event => {
console.log('Caption received:', event.text);
console.log('Caption final:', event.isFinal);
},
}}
/>
Você pode definir o subscribeToCaptions propriedade para true independentemente de o cliente que está transmitindo o stream estar ou não publicando legendas em tempo real no momento. O assinante começará a receber os dados das legendas assim que o emissor iniciar a publicação das legendas.
Os assinantes recebem legendas por meio do captionReceived manipulador de eventos (mostrado acima).
O captionReceived O objeto de evento possui duas propriedades:
text— O texto da legenda (uma sequência de caracteres)isFinal— Se o texto da legenda é definitivo para uma frase (true) ou parcial (false).
O SDK do OpenTok para React Native não exibe o texto dos eventos de legendas. Você pode criar seu próprio elemento de interface do usuário para exibir o texto das legendas com base nos eventos de legendas.
Como receber suas próprias legendas em tempo real
O Client SDK da Vonage não permite que um emissor receba eventos relativos às suas próprias legendas. Para exibir legendas de uma transmissão publicada pelo cliente local, crie um assinante oculto (da transmissão do emissor local) para monitorar os eventos de legenda. Defina o subscribeToSelf propriedade do OTSubscriber para true. Você não deve renderizar o vídeo desse assinante (definindo seu width e height para 0) e você não deve se inscrever para receber áudio (para evitar eco, configurando subscribeToAudio para false). Você pode adicionar as legendas à interface do usuário, da mesma forma que faria com as legendas de outras transmissões. Consulte Exibição personalizada dos assinantes.