Utilizado para reproduzir um fluxo de áudio e vídeo na sessão da Video API da Vonage. Mais...
Herdou da interface IDisposable.
| Aulas | |
| classe | AudioDataEventArgs |
| Define parâmetros para OpenTok.AudioData eventos. Mais... | |
| classe | AudioLevelArgs |
| Define argumentos para Nível de Áudio eventos. Mais... | |
| classe | AudioNetworkStatsEventArgs |
| Define argumentos para Estatísticas de áudio atualizadas eventos. Mais... | |
| classe | Construtor |
| Usado para criar um Assinante instância. Mais... | |
| classe | Argumentos de legenda |
| Define argumentos para Texto da legenda eventos. Mais... | |
| classe | ErrorEventArgs |
| Define os argumentos para o Erro evento. Mais... | |
| classe | NetworkConditionChangedEventArgs |
| Define argumentos para Alteração na condição da rede eventos gerados pelo assinante. Mais... | |
| classe | RtcStatsReportArgs |
| Define argumentos para RtcStatsReport eventos. Mais... | |
| classe | Estatísticas do remetente |
| Estatísticas de rede do lado do remetente. Mais... | |
| classe | Assinantes, Mídia, Links, Estatísticas |
| Fornece estatísticas sobre os links de mídia dos assinantes, incluindo métricas de transporte local e remoto e informações sobre a degradação da rede. Mais... | |
| classe | AssinanteMídiaLinkEstatísticasArgumentosDoEvento |
| Define argumentos para MediaLinkEstatísticasAtualizadas eventos. Mais... | |
| classe | VideoEventArgs |
| Define os argumentos para o Compatível com vídeo e Vídeo desativado eventos. Mais... | |
| classe | VideoNetworkStatsEventArgs |
| Define argumentos para Estatísticas de vídeo atualizadas eventos. Mais... | |
| classe | VideoQualityChangedEventArgs |
| Define argumentos para Qualidade do vídeo alterada eventos gerados pelo assinante. Mais... |
| Tipos públicos | |
| enum | VideoReason : int { Publicar Vídeo = 1, Assinante do vídeo = 2, Qualidade = 3, CodecNãoSuportado = 4, CodecChange = 8, Alteração da resolução = 9 , Interrupção de vídeo = 10 } |
| Define valores para o VideoEventArgs.Reason e VideoEventArgs.Reason propriedades. Mais... |
| Funções públicas de membro | |
| nulo | Descartar () |
| Dispõe do Assinante recursos do objeto. | |
| nulo | ObterRelatórioDeEstatísticasRtc () |
| Obtém o relatório de estatísticas do RTC para o assinante. Esta é uma operação assíncrona. Quando as estatísticas estiverem disponíveis, o RtcStatsReport A mensagem é enviada. Mais... |
| Funções de membro protegidas | |
| Assinante (Construtor construtor) | |
| virtual void | Descartar (bool disposing) |
| Propriedades | |
| Transmissão | Transmissão [get] |
| O fluxo para este assinante. As propriedades do Transmissão As propriedades do objeto representam um instantâneo do estado do fluxo no momento em que essa propriedade é acessada e não serão atualizadas à medida que o estado do fluxo mudar. | |
| bool | Inscrever-se para ver legendas [get, set] |
Se o Assinante está se inscrevendo para receber legendas (true) ou não (false). O valor padrão é o valor de “captions” do editor do stream.Publisher.PublishCaptions |
|
| sequência de caracteres | LegendasTraduçãoIdioma [get, set] |
| O idioma preferido para a tradução das legendas deste assinante. Mais... | |
| bool | Inscrever-se no áudio [get, set] |
Se o Assinante está assinando o conteúdo de áudio (true) ou não (false). |
|
| bool | Inscreva-se no canal [get, set] |
Se o Assinante está se inscrevendo no canal de vídeo (true) ou não (false). |
|
| IVideoRenderer | VideoRenderer [get] |
| O reprodutor de vídeo utilizado por este assinante. Mais... | |
| sequência de caracteres | Id [get] |
| O identificador exclusivo para o Assinante. | |
| Tamanho | Resolução preferencial [get, set] |
| A resolução preferencial para o stream do assinante. Mais... | |
| duplo | Volume do áudio [get, set] |
| O volume do áudio do assinante. Mais... | |
| float | Taxa de quadros preferencial [get, set] |
| A taxa de quadros preferencial para a transmissão do assinante. Mais... |
| Eventos | |
| EventHandler | Conectado |
| É acionado quando a instância se conecta com sucesso ao stream e começa a reproduzir a mídia. | |
| EventHandler | Transmissão desconectada |
| É chamado quando o fluxo do assinante é interrompido. Mais... | |
| EventHandler | StreamReconnected |
| Enviado quando a transmissão do assinante é retomada (após uma desconexão temporária). Mais... | |
| EventHandler< Argumentos de legenda > | Texto da legenda |
| Enviado quando o stream do assinante recebe o texto da legenda. | |
| EventHandler< VideoEventArgs > | Vídeo desativado |
| É chamado quando o assinante deixa de receber o vídeo. Mais... | |
| EventHandler< VideoEventArgs > | Compatível com vídeo |
| É chamado 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). Mais... | |
| EventHandler< ErrorEventArgs > | Erro |
| É acionado quando um assinante não consegue se conectar ao servidor da Video API da Vonage. | |
| EventHandler | Desativar aviso de vídeo |
| É chamada quando o Media Router da Video API da Vonage determina que a qualidade do stream se deteriorou e que o vídeo será desativado caso a qualidade continue a se deteriorar. Mais... | |
| EventHandler | Aviso sobre desativação de vídeo suspenso |
| É chamado quando o Media Router da Video API da Vonage determina que a qualidade do stream melhorou a ponto de o vídeo que está sendo desativado não representar mais um risco imediato. Mais... | |
| EventHandler< VideoQualityChangedEventArgs > | Qualidade do vídeo alterada |
| Ocorre quando é detectado um evento relacionado à qualidade no lado do assinante. Mais... | |
| EventHandler< NetworkConditionChangedEventArgs > | Alteração na condição da rede |
| Ocorre quando são detectadas alterações nas condições da rede no lado do assinante. Mais... | |
| EventHandler< AssinanteMídiaLinkEstatísticasArgumentosDoEvento > | MediaLinkEstatísticasAtualizadas |
| É executado periodicamente para gerar relatórios com as estatísticas de links de mídia do assinante. | |
| EventHandler< AudioLevelArgs > | Nível de Áudio |
| Enviado periodicamente para informar o nível de áudio do assinante. | |
| EventHandler< AudioDataEventArgs > | Dados de áudio |
| É chamado periodicamente para relatar os dados de áudio do PCM do assinante. | |
| EventHandler< AudioNetworkStatsEventArgs > | Estatísticas de áudio atualizadas |
| É acionado quando o assinante tem estatísticas de áudio para compartilhar. | |
| EventHandler< VideoNetworkStatsEventArgs > | Estatísticas de vídeo atualizadas |
| É chamado quando o assinante tem estatísticas de vídeo para compartilhar. | |
| EventHandler< RtcStatsReportArgs > | RtcStatsReport |
| Enviado em resposta a uma solicitação para GetRtcStatsReport(). |
Descrição detalhada
Utilizado para consumir um fluxo de áudio e vídeo na sessão da Video API da Vonage.
Use o Subscriber.Builder classe para criar um Assinante Por exemplo. Os assinantes podem se conectar para receber mídia quando você chamar o Session.Subscribe(Subscriber) método.
O Assinante A classe implementa a interface System.IDisposable. Certifique-se de chamar o Dispose() método do Assinante objeto deve liberar seus recursos quando você não precisar mais dele (por exemplo, quando o Assinante interrompe a transmissão de vídeo ou quando o aplicativo ou a janela está sendo fechado).
Documentação sobre a enumeração de membros
VideoReason
| enum OpenTok.Subscriber.VideoReason : int |
Define valores para o VideoEventArgs.Reason e VideoEventArgs.Reason propriedades.
| Recenseador | |
|---|---|
| Publicar Vídeo | O evento ocorreu porque o transmissor iniciou ou interrompeu a transmissão do vídeo. |
| Assinante do vídeo | O evento ocorreu porque o cliente local iniciou ou encerrou a assinatura do vídeo. |
| Qualidade | O problema foi causado por uma alteração na qualidade da transmissão de vídeo. Transmissão A qualidade pode variar devido às condições da rede ou ao uso da CPU, tanto no lado do assinante quanto no do editor. Quando ativado, o fallback de áudio gera um evento quando o assinante interrompe a transmissão de vídeo devido à degradação da qualidade do vídeo, fazendo com que o assinante envie o Vídeo desativado evento. Quando as condições melhorarem, a transmissão de vídeo será retomada, e o Assinante envia o Compatível com vídeo evento. Quando o fluxo de vídeo é interrompido, o assinante continua recebendo o fluxo de áudio, caso haja um. Em sessões roteadas, a origem desse comportamento pode ser o Roteador de Mídia da Video API da Vonage (Assinante (Reserva de áudio) ou o cliente de publicação (Editora Alternativa de áudio). Quando o cliente de publicação é a fonte, o aplicativo assinante recebe o correspondente Session.StreamHasVideoChanged, indicando que o canal de vídeo assinado não está mais ativo. Em geral, esse comportamento sugere uma degradação da rede no lado do editor; no entanto, as métricas relatadas pelo assinante podem influenciar as decisões de fallback do editor, o que pode complicar a determinação da origem exata da degradação. Em sessões retransmitidas, o evento “qualidade” é acionado exclusivamente devido à lógica interna de fallback de áudio do editor (Publisher Audio Fallback). Isso não é seguido por nenhum evento adicional indicando que o vídeo está inativo, pois a transmissão ainda pode ser recebida por outros assinantes com melhores condições de rede. Observe que, embora o fallback tenha origem no editor em sessões retransmitidas, a degradação subjacente da rede pode ocorrer tanto no lado do editor quanto no lado do assinante. |
| CodecNãoSuportado | O problema com o vídeo ocorreu porque o vídeo na transmissão do assinante foi desativado, já que a transmissão utiliza um codec de vídeo (como o H.264) que não é compatível com o dispositivo. |
| CodecChange | O codec de vídeo da transmissão foi alterado. |
| Alteração da resolução | Alteração na resolução do vídeo ou no número de camadas. Isso pode ocorrer devido a restrições de taxa de bits, adaptação do codificador, alterações na fonte da câmera (como troca de câmera ou alteração da resolução de entrada) ou alterações na configuração. Não implica necessariamente em perda de qualidade. |
| Interrupção de vídeo | A transmissão de vídeo foi interrompida. Isso indica que a transmissão de vídeo para o assinante foi pausada por um período prolongado (normalmente superior a cinco segundos). Quando ocorre uma interrupção no vídeo, as Applications podem verificar o Estatísticas de vídeo atualizadas para identificar fatores que contribuem para isso, como baixa taxa de bits ou alta latência. |
Documentação das funções de membro
GetRtcStatsReport()
| void OpenTok.Subscriber.GetRtcStatsReport | ( | ) |
Obtém o relatório de estatísticas do RTC para o assinante. Esta é uma operação assíncrona. Quando as estatísticas estiverem disponíveis, o RtcStatsReport A mensagem é enviada.
Veja também Estatísticas de áudio atualizadas, Estatísticas de vídeo atualizadas, e Publisher.GetRtcStatsReport().
Documentação do imóvel
Volume do áudio
| --- | double OpenTok.Subscriber.AudioVolume |
O volume do áudio do assinante.
O volume do áudio do assinante, entre 0 e 100. Ao definir o valor, se ele não estiver nesse intervalo, será ajustado para dentro dele.
O valor padrão é 100.
LegendasTraduçãoIdioma
| --- | string OpenTok.Subscriber.CaptionsTranslationLanguage |
O idioma preferido para a tradução das legendas deste assinante.
Este é um recurso em fase beta.
Essa configuração só entra em vigor quando as legendas estão ativadas. Defina-a com um código de idioma compatível com o BCP-47 para receber legendas traduzidas, ou null para desativar a tradução. O valor padrão é null (não há tradução configurada).
Os códigos de idiomas compatíveis estão definidos na especificação da API do servidor.
Taxa de quadros preferencial
| --- | float OpenTok.Subscriber.PreferredFramerate |
A taxa de quadros preferencial para a transmissão do assinante.
Limitar a taxa de quadros e a resolução do vídeo (Resolução preferencial) reduz o uso da rede e da CPU no cliente assinante. Você pode optar por usar uma resolução mais baixa com base nas dimensões do vídeo do assinante no aplicativo. Você pode optar por usar uma taxa de quadros ou resolução mais baixa para assinantes de uma transmissão que seja menos importante (e menor) do que outras transmissões.
Essa propriedade só se aplica ao assinar um stream que utilize o recurso de vídeo escalável. O vídeo escalável está disponível:
- Apenas nas sessões que utilizam o Media Router da Video API da Vonage (sessões com o modo de mídia (definido como “roteado”).
- Apenas para transmissões publicadas por clientes que suportam vídeo escalável (consulte a documentação do recurso de vídeo escalável).
Em transmissões que não utilizam vídeo escalável, definir essa propriedade não tem efeito.
Observação: A taxa de quadros para transmissões de vídeo escaláveis se ajusta automaticamente para cada assinante, com base nas condições da rede e no uso da CPU, mesmo que você não defina essa propriedade. Defina essa propriedade se desejar estabelecer uma taxa de quadros máxima para esse assinante.
As taxas de quadros disponíveis são baseadas no valor da taxa de quadros máxima disponível para a transmissão. Ao definir a taxa de quadros preferencial para o assinante, o SDK do Windows da Video API seleciona a melhor taxa de quadros disponível que for mais próxima da taxa preferencial, com base nas restrições de largura de banda e CPU do cliente.
As taxas de quadros efetivamente disponíveis dependem, de forma dinâmica, dos recursos de rede e da CPU disponíveis para o editor.
Resolução preferencial
| --- | Tamanho OpenTok.Subscriber.PreferredResolution |
A resolução preferencial para o stream do assinante.
A resolução preferencial para o stream do assinante.
Limitar a resolução do vídeo e a taxa de quadros (Taxa de quadros preferencial) reduz o uso da rede e da CPU no cliente assinante. Você pode optar por usar uma resolução mais baixa com base nas dimensões do vídeo do assinante no aplicativo. Você pode optar por usar uma taxa de quadros ou resolução mais baixa para assinantes de uma transmissão que seja menos importante (e menor) do que outras transmissões.
Essa propriedade só se aplica ao assinar um stream que utilize o recurso de vídeo escalável. O vídeo escalável está disponível:
- Apenas nas sessões que utilizam o Media Router da Video API da Vonage (sessões com o modo de mídia (definido como “roteado”).
- Apenas para transmissões publicadas por clientes que suportam vídeo escalável (consulte a documentação do recurso de vídeo escalável).
Em transmissões que não utilizam vídeo escalável, definir essa propriedade não tem efeito.
Observação: A resolução das transmissões de vídeo escaláveis é ajustada automaticamente para cada assinante, com base nas condições da rede e no uso da CPU, mesmo que você não defina essa propriedade. Defina essa propriedade se desejar estabelecer uma resolução máxima para esse assinante.
Nem todas as resoluções estão disponíveis para um assinante. Ao definir a resolução preferida, o SDK do Windows da Video API da Vonage seleciona a melhor resolução disponível que atenda às suas restrições. As resoluções disponíveis dependem da largura e altura máximas que o Editora conjuntos para o fluxo, que são retornados pela função Stream.Width e Stream.Height propriedades do Transmissão objeto. Cada uma das resoluções disponíveis para uma transmissão utilizará a mesma proporção de tela.
VideoRenderer
| --- | IVideoRenderer OpenTok.Subscriber.VideoRenderer |
O reprodutor de vídeo utilizado por este assinante.
Defina o renderizador de vídeo passando o VideoRenderer ao chamar o construtor de `Subscriber(Context, Stream, IVideoRenderer)`.
Documentação do evento
Alteração na condição da rede
| EventHandler<NetworkConditionChangedEventArgs> OpenTok.Subscriber.NetworkConditionChanged |
Ocorre quando são detectadas alterações nas condições da rede no lado do assinante.
Este evento é acionado quando ocorrem mudanças significativas nas condições da rede, fornecendo estatísticas do link de mídia juntamente com o motivo da mudança.
Transmissão desconectada
| EventHandler OpenTok.Subscriber.StreamDisconnected |
É chamado quando o fluxo do assinante é interrompido.
Em resposta à chamada desse método, talvez seja interessante exibir uma notificação na interface do usuário, para informar ao usuário que o fluxo de áudio e vídeo está temporariamente desconectado e que o aplicativo está tentando se reconectar ao fluxo.
Se o cliente se reconectar ao stream, os assinantes enviam o StreamReconnected evento. Caso contrário, o Sessão o objeto envia o Session.StreamDropped evento.
StreamReconnected
| EventHandler OpenTok.Subscriber.StreamReconnected |
Enviado quando a transmissão do assinante é retomada (após uma desconexão temporária).
O Assinante envia esse evento depois de enviar o Transmissão desconectada evento.
Vídeo desativado
| EventHandler<VideoEventArgs> OpenTok.Subscriber.VideoDisabled |
É chamado quando o assinante deixa de receber o vídeo.
Verifique o reason propriedade dos argumentos do evento que indica o motivo pelo qual o vídeo parou.
Desativar aviso de vídeo
| EventHandler OpenTok.Subscriber.VideoDisableWarning |
É chamada quando o Media Router da Video API da Vonage determina que a qualidade do stream se deteriorou e que o vídeo será desativado caso a qualidade continue a se deteriorar.
Se a qualidade piorar ainda mais, o assinante desativa o vídeo e o Assinante envia a mensagem VideoDisabled. Se a qualidade do stream melhorar, o Assinante envia o evento VideoDisableWarningLifted.
Esse recurso está disponível apenas em sessões que utilizam o Media Router da Video API da Vonage (sessões com o modo de mídia definido como “routed”), e não em sessões com o modo de mídia definido como “relayed”. (Consulte O OpenTok Media Router e os modos de mídia).
Esse método é chamado principalmente quando a qualidade da conexão se deteriora.
Aviso sobre desativação de vídeo suspenso
| EventHandler OpenTok.Subscriber.VideoDisableWarningLifted |
É chamado quando o Media Router da Video API da Vonage determina que a qualidade do stream melhorou a ponto de a desativação do vídeo não representar um risco imediato.
Esse recurso está disponível apenas em sessões que utilizam o Media Router da Video API da Vonage (sessões com o modo de mídia definido como “routed”), e não em sessões com o modo de mídia definido como “relayed”. (Consulte O OpenTok Media Router e os modos de mídia).
Esse método é chamado principalmente quando a qualidade da conexão melhora.
Compatível com vídeo
| EventHandler<VideoEventArgs> OpenTok.Subscriber.VideoEnabled |
É chamado quando a transmissão de vídeo do assinante é iniciada (quando anteriormente não havia vídeo) ou retomada (após o vídeo ter sido desativado).
Verifique o reason propriedade dos argumentos do evento que indica o motivo pelo qual o vídeo foi ativado.
Qualidade do vídeo alterada
| EventHandler<VideoQualityChangedEventArgs> OpenTok.Subscriber.VideoQualityChanged |
Ocorre quando é detectado um evento relacionado à qualidade no lado do assinante.
Este evento é acionado quando ocorrem alterações significativas na qualidade do fluxo de vídeo do assinante, como uma interrupção detectada no vídeo (pausa) ou uma mudança de codec.
A implementação atual só aciona esse evento em caso de interrupções de vídeo ou mudanças de codec. Os travamentos são monitorados internamente e refletidos nas estatísticas, mas não acionam esse evento individualmente devido à sua curta duração e alta frequência. Uma chamada de retorno é acionada somente quando uma pausa (sem quadro renderizado por 5 segundos ou mais) é detectada, pois isso representa uma interrupção mais significativa na reprodução.
O VideoReason O valor especifica a causa do evento e segue esta ordem de prioridade: VideoInterruption, CodecChange.
Este evento difere de Vídeo desativado e Compatível com vídeo na medida em que relata alterações relacionadas à qualidade, em vez de simples transições de início/fim de faixa. O Vídeo desativado e Compatível com vídeo Os eventos indicam quando a trilha de vídeo do assinante foi desativada ou ativada (por exemplo, devido a um recurso alternativo de áudio ou a atualizações nas propriedades do stream). Em contrapartida, este evento fornece informações de diagnóstico sobre as causas da degradação da qualidade, tais como travamentos, contagem de pausas e estatísticas atualizadas de vídeo.
Este evento considera qualquer interrupção de vídeo com duração de cinco segundos ou mais. Em situações como o recurso de áudio alternativo ou a desativação do vídeo, a interrupção também é registrada como uma pausa nas estatísticas, e um evento correspondente de alteração de qualidade pode ser gerado.
Os aplicativos podem utilizar esse evento para lidar com questões de qualidade, como atualizar indicadores da interface do usuário, registrar dados de telemetria ou notificar os usuários.