Adereços | Propriedades | Métodos | Eventos
Adereços
| Adereço | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| sessionId | String | Não | ID da sessão do OpenTok. Esse campo é preenchido automaticamente ao envolver OTSubscriber com OTSession |
| streamId | String | Não | streamId do assinante do OpenTok. Esse campo é preenchido automaticamente dentro do OTSubscriber componente quando streamCreated o evento é disparado a partir da instância nativa |
| propriedades | Objeto | Não | Propriedades passadas para a instância do assinante nativo |
| streamProperties | Objeto | Não | Utilizado para atualizar as propriedades de uma instância específica de assinante |
| manipuladores de eventos | Objeto<Função> | Não | Manipuladores de eventos passados para a instância nativa do assinante |
| inscrever-se para receber notícias sobre si mesmo | Booleano | Não | Se definido como “true”, o assinante pode se inscrever no próprio fluxo do editor (padrão: “false”) |
| crianças | Função | Não | Uma propriedade de renderização que permite a renderização individual de cada fluxo |
Propriedades
-
inscrever-se no áudio (Booleano) — Se deseja assinar o áudio.
-
inscrever-se no canal (Booleano) — Se deseja se inscrever no canal de vídeo.
-
ativar legendas (Booleano) — Indica se as legendas devem ser ativadas. Observe que a sessão deve ter as legendas ativadas (por meio do método REST da Video API ou do SDK do servidor) e que o editor deve estar publicando legendas. Para obter mais informações, consulte o Guia do desenvolvedor do Live Captions.
-
resolução preferencial (String) — Define a resolução preferencial do vídeo do assinante. O formato da string é “larguraxaltura”, em que a largura e a altura são representadas em pixels. Os valores válidos são “1280x720”, “640x480” e “352x288”.
-
preferredFrameRate (Número) — Defina aqui a taxa de quadros desejada (em quadros por segundo). Defina como nulo para remover a taxa de quadros preferencial; nesse caso, o cliente utilizará a taxa de quadros mais alta disponível. Os valores válidos são 30, 15, 7 e 1.
-
volume do áudio (Número) — Define o volume do áudio do assinante, entre 0 e 100. Se o valor não estiver nesse intervalo, ele será ajustado para ficar dentro dele.
-
scaleBehavior (String) - Define como o vídeo é redimensionado ao ser renderizado. Os valores permitidos são
fill(padrão) efit. Atualmente, essa funcionalidade é compatível apenas com o iOS.
O OTSubscriber O componente se inscreverá em um fluxo especificado de uma sessão especificada ao ser montado. O OTSubscriber O componente deixará de se inscrever e cancelará a inscrição ao ser desmontado.
Métodos
getRtcStatsReport(streamId) Obtém o relatório de estatísticas do RTC para o assinante do stream com o
ID de stream especificado. Esta é uma operação assíncrona. O objeto OTSubscriber despacha um
rtcStatsReport evento em que as estatísticas de RTC do assinante estiverem disponíveis.
Eventos
-
nível de áudio (SubscriberAudioLevelEvent) — Enviado em intervalos regulares com o nível de áudio representativo mais recente. Veja Evento de Nível de Áudio do Assinante
-
audioNetworkStats (Objeto) — Enviado periodicamente para relatar estatísticas de áudio do assinante. Um Estatísticas da Rede de Áudio O objeto é passado para o manipulador de eventos.
-
legendaRecebido (Objeto) — Enviado quando uma legenda é recebida para o assinante. A Legenda recebida O objeto é passado para o manipulador de eventos.
-
conectado () — Enviado quando o assinante se conecta com sucesso ao stream. O objeto do evento inclui um
streamIdpropriedade que identifica o fluxo. -
desconectado () — Chamado quando o fluxo do assinante é interrompido.
-
erro (Objeto) — Enviado caso o assinante não consiga se conectar ao seu stream.
-
otrnError (Objeto) — Enviado caso ocorra um erro na comunicação entre a instância nativa do assinante e o componente JS.
-
rtcStatsReport (Objeto) -- Enviado quando os relatórios de estatísticas do RTC estiverem disponíveis para o assinante, em resposta à chamada da função
OTSubscriber.getRtcStatsReport()método. A Evento de Relatório de Estatísticas de RTC do Assinante O objeto é passado para o manipulador de eventos. Esse objeto de evento possui as seguintes propriedades:-
jsonArrayOfReportspropriedade, que é um array JSON de RTCStatsReport para o fluxo de mídia. A estrutura do array JSON é semelhante ao formato do objeto RtcStatsReport implementado em navegadores da web (consulte o Documentação da Mozilla). Veja também esta documentação do W3C. -
stream-- Um objeto que representa o fluxo do assinante. Esse objeto inclui umstreamIdpropriedade que identifica o fluxo.
-
-
videoDataReceived () - Enviada quando um quadro de vídeo é decodificado. Embora o assinante se conecte em um tempo relativamente curto, a sincronização do vídeo pode demorar mais. Essa mensagem é enviada após o
connectedA mensagem é enviada. -
vídeo desativado (String) — Esta mensagem é enviada quando o assinante deixa de receber o vídeo. Verifique o parâmetro “reason” para saber o motivo pelo qual o vídeo foi interrompido.
-
videoDesativarAviso () - Esta mensagem é enviada quando o OpenTok Media Router detecta que a qualidade da transmissão se deteriorou e que o vídeo será desativado caso a qualidade continue a se deteriorar. Se a qualidade continuar a se deteriorar, o assinante desativará o vídeo e o
videoDisableda mensagem é enviada. Se a qualidade do stream melhorar, avideoDisableWarningLiftedA mensagem é enviada. -
videoDisableWarningLifted () — Esta mensagem é enviada quando a transmissão de vídeo do assinante é iniciada (quando antes não havia vídeo) ou retomada (após o vídeo ter sido desativado). Verifique o parâmetro “reason” para saber o motivo pelo qual o vídeo foi iniciado (ou retomado).
-
videoEnabled (String) — Essa mensagem é enviada quando a transmissão de vídeo do assinante é iniciada (quando antes não havia vídeo) ou retomada (após o vídeo ter sido desativado). Verifique o parâmetro “reason” para saber o motivo pelo qual o vídeo foi iniciado (ou retomado).
-
videoNetworkStats (Objeto) — Enviado periodicamente para relatar as estatísticas de vídeo do assinante. A Evento de Estatísticas da Rede de Vídeos O objeto é passado para o manipulador de eventos.
Exemplo
class App extends Component {
constructor(props) {
super(props);
this.state = {
streamProperties: {},
};
this.subscriberProperties = {
subscribeToAudio: false,
subscribeToVideo: true,
subscribeToCaptions: false,
};
this.sessionEventHandlers = {
streamCreated: event => {
const streamProperties = {...this.state.streamProperties, [event.streamId]: {
subscribeToAudio: true,
subscribeToVideo: false,
style: {
width: 400,
height: 300,
},
}};
this.setState({ streamProperties });
},
};
this.subscriberEventHandlers = {
error: (error) => {
console.log(`There was an error with the subscriber: ${error}`);
},
audioNetworkStats: event => {
console.log('audioNetworkStats', event);
// { timeStamp: 1643203644833, audioPacketsLost: 0, audioPacketsReceived: 64, audioBytesReceived: 5574 }
},
videoNetworkStats: event => {
console.log('videoNetworkStats', event);
// videoBytesReceived: 706635, videoPacketsLost: 0, timeStamp: 1643203644724, videoPacketsReceived: 656 }
},
};
}
render() {
return (
<OTSession apiKey="your-api-key" sessionId="your-session-id" token="your-session-token" eventHandlers={this.sessionEventHandlers}>
<OTSubscriber
properties={this.subscriberProperties}
eventHandlers={this.subscriberEventHandlers}
style={{ height: 100, width: 100 }}
streamProperties={this.state.streamProperties}
/>
</OTSession>
);
}
}
Renderização personalizada de fluxos
É possível controlar a exibição de assinantes individuais em fluxos. Consulte Exibição personalizada dos assinantes.