Podemos solicitar um fluxo de mídia para uma tela ou janelas via navigator.mediaDevices.getDisplayMedia()
. No entanto, isso imediatamente solicita que o usuário decida que tipo de captura usar. Preciso verificar se o navegador / plataforma suporta até a captura de tela.
Obviamente, é possível procurar 'getDisplayMedia' in navigator.mediaDevices
, mas isso apenas indica se a API é suportada pelo navegador. Em particular, no FF e no Chrome no Android, a API é definida e eu posso chamar getDisplayMedia()
, mas sempre retorna imediatamente um NotAllowedError
erro (o que é esperado: de acordo com o caniuse , os navegadores móveis ainda não são compatíveis getDisplayMedia
).
Em seguida, tentei verificar navigator.mediaDevices.getSupportedConstraints()
. No entanto, meu FF móvel retorna exatamente o mesmo objeto que meu FF de desktop. Em particular, navigator.mediaDevices.getSupportedConstraints().mediaSource
é true
em ambos os casos. Finalmente, os dados retornados por navigator.mediaDevices.enumerateDevices()
também não me ajudam. Eu só recebo um ID de dispositivo e grupo que não consigo interpretar de forma alguma (certo?).
É possível detectar se a captura de tela via getDisplayMedia
é ou não suportada anteriormente?
( Observação : essas perguntas e respostas parecem bastante semelhantes, mas são sobre getUserMedia
e já são bastante antigas)
getDisplayMedia
no celular". Isso é bom para mim. Eu só quero verificar se é ou não suportado.