;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Como fazer videoconferência no Zoom, Skype, Hangouts, Facebook e WhatsApp

Pixabay
Imagem: Pixabay

Nicole D'Almeida

Colaboração para Tilt

19/03/2020 19h08

A epidemia de coronavírus fez a população enfrentar uma quarentena e muitas empresas acabaram adotando o home office. Se você está trabalhando de casa, mas precisa fazer uma reunião com clientes ou com colegas de trabalho, ou ainda deseja fazer uma socialzinha com os amigos, não há problema: você pode usar a tecnologia para isso. Existem aplicativos que te ajudam a evitar o completo isolamento com as conversas em vídeo, ou videoconferências.

Os tutoriais foram feitos em iOS, podendo alterar alguns os em outros sistemas. Confira abaixo.

Skype

Disponível para Android, iPhone, iPad e computador, o Skype permite realizar chamada de voz com até 50 pessoas. Já o número máximo de pessoas em uma chamada de vídeo irá variar de acordo com a plataforma e o dispositivo que está sendo usado.

Vale lembrar que todas pessoas devem ter uma conta no Skype.

Para fazer uma chamada de vídeo:

  1. Toque em "Chamadas".
  2. Toque no ícone de telefone com o símbolo de +.
  3. Selecione os participantes desejados.
  4. Toque em "Ligar".
  5. Selecione a opção desejada.

Clique aqui para verificar o tutorial em outros sistemas.

Zoom

O Zoom é uma plataforma de videoconferência voltada para o meio corporativo, disponível para navegadores e aplicativos para Windows, macOS, Linux, iOS e Android.

A plataforma disponibiliza diversos planos de acordo com o seu tipo de empresa.

Há a opção gratuita, que permite a participação de até 100 pessoas, mas com um limite de 40 minutos para reuniões em grupos.

Para realizar uma chamada de vídeo:

  1. Toque em "Nova reunião".
  2. Toque em "Iniciar uma reunião".
  3. Toque em "Participantes".
  4. Toque em "Convidar".
  5. Escolha como deseja mandar o link da videochamada.

Hangouts

O Hangouts é a plataforma de mensagens instantâneas do Google, podendo ser ada tanto pelo Gmail quanto pelo Google+.

Disponível para computador, Android e iOS, é possível realizar chamadas de vídeo em grupo com até 25 participantes.

Para fazer a chamada de vídeo:

  1. Toque no ícone de +.
  2. Toque em "Novo grupo".
  3. Toque no ícone de check.
  4. Toque em "Compartilhar link".
  5. Toque em "Ativar".
  6. Escolha com quem deseja compartilhar o link.

Clique aqui para verificar o tutorial em outros sistemas.

Facebook

Disponível para navegador, Android e iOS, o Facebook realizar videochamada com até 50 pessoas. Caso a chamada tenha apenas seis participantes, todos aparecem na tela. Se tiver mais pessoas, somente quem está falando fica em evidência.

Para realizar uma chamada de vídeo:

  1. Abra a conversa ou grupo.
  2. Toque no ícone de câmera no canto superior direito do bate-papo.

WhatsApp

O WhatsApp permite ligações apenas no Android e no iOS com até quatro participantes.

  1. Toque em "Ligações".
  2. [Toque em "Nova ligação em grupo".
  3. Selecione até 3 pessoas.
  4. Toque no ícone de câmera.

FaceTime

A Apple tem um aplicativo próprio de chamada de voz e vídeo que permite a interação entre pessoas que também tem dispositivos iOS. A plataforma permite videochamada de até 32 participantes.

Para realizar a vídeochamada:

  1. Toque no ícone de +.
  2. Digite o nome das pessoas.
  3. Toque em "Vídeo".

SIGA TILT NAS REDES SOCIAIS