;(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

Professor dá aula pelo Zoom por 2 horas até perceber que estava 'no mudo'

Dong Wang, da Universidade Nacional de Cingapura, acabou dando aula por 2 horas sem ser ouvido pelos alunos - Reprodução/TikTok/queen_yx_
Dong Wang, da Universidade Nacional de Cingapura, acabou dando aula por 2 horas sem ser ouvido pelos alunos Imagem: Reprodução/TikTok/queen_yx_

Colaboração para Tilt, em São Paulo

11/02/2021 11h47

O professor universitário de matemática Dong Wang, da Universidade Nacional de Singapura, dava uma longa aula online na plataforma de videoconferência Zoom, mas só percebeu que estava "no mudo" depois de duas horas de aula. Segundo um aluno que estava na aula, os colegas tentaram alertar o docente sobre o microfone desligado, mas não obtiveram sucesso.

O mico registrado em vídeo acabou viralizando na rede social TikTok, onde alcançou 70,8 mil curtidas. Na gravação, é possível acompanhar o final da aula, quando Dong termina de falar e pergunta aos seus 20 alunos se eles têm alguma dúvida.

Detalhe é que ninguém teria o que perguntar, já que nenhum dos estudantes estava ouvindo o professor esse tempo todo. "Não... uhhh... nós podemos terminar nossa aula?", pergunta Dong, sem entender a situação.

O docente é então finalmente alertado por um aluno, que diz: "Professor, você estava mudo este tempo todo. Não podíamos ouvir nada de você desde 18h08".

@queen_yx_

just a regular day of lecture on online school watch till the end !!!

? original sound - yx

Dong parece tão chocado com o aviso que não consegue acreditar que toda a aula que deu foi em vão. "A partir de quando [eu não estava sendo ouvido]?", pergunta. O aluno reitera: "Desde 18h08".

"Sua tela congelou e não ouvimos nada de você desde então", continuou explicando o estudante. Dang faz expressão de frustração e até hiperventila por um tempo devido à enorme situação embaraçosa.

Ele por fim aceita o erro que aconteceu na chamada de vídeo e promete: "Ok, então eu irei refazer essa aula em alguma outra ocasião".

Em entrevista ao site The Independent News and Media, um dos alunos que estava na aula online, Azusa Chan, relatou que o professor utilizava um iPad para lecionar e que vários dos estudantes tentaram alertá-lo sobre ele não estar sendo ouvido. Tentaram, inclusive, ativar o som e ligar para Dong.

Porém, nada adiantou. O professor estava tão focado no ensino que não notou a aflição dos estudantes. "Após esse incidente, ele deixa seu telefone ao lado dele sempre que está dando uma aula para que possamos telefoná-lo em caso de emergência", disse Azusa.

Errata: este conteúdo foi atualizado
A primeira versão do texto indicava que o professor tinha mutado a aula no minuto 6:08. Porém, o horário citado pelo aluno foi 18h08. A informação foi corrigida.