O Google tem o compromisso de promover a igualdade racial para as comunidades negras.
Saiba como.
Começar a usar streams remotos
Quando um RTCPeerConnection
é conectado a um peer remoto, é possível
fazer streaming de áudio e vídeo entre eles. É aqui que conectamos
stream que recebemos de getUserMedia()
para RTCPeerConnection
. Uma mídia
transmissão consiste em pelo menos uma faixa de mídia, adicionada individualmente
para o RTCPeerConnection
quando quisermos transmitir a mídia para o controle remoto
peering.
const localStream = await getUserMedia({video: true, audio: true});
const peerConnection = new RTCPeerConnection(iceConfig);
localStream.getTracks().forEach(track => {
peerConnection.addTrack(track, localStream);
});
As faixas podem ser adicionadas a um dispositivo RTCPeerConnection
antes que ele seja conectado a um controle remoto
Por isso, faz sentido realizar essa configuração o mais cedo possível, em vez de
aguardando a conclusão da conexão.
Adicionando faixas remotas
Para receber as faixas remotas que foram adicionadas pelo outro peer, registramos um
listener no RTCPeerConnection
local para ouvir o evento track
. A
RTCTrackEvent
contém uma matriz de objetos MediaStream
com o mesmo
MediaStream.id
como os streams locais correspondentes do app semelhante. Em nossa
exemplo, cada faixa é associada a apenas um fluxo.
Embora os IDs MediaStream
correspondam nos dois lados da conexão de peering,
o mesmo geralmente não é verdade para IDs MediaStreamTrack
.
const remoteVideo = document.querySelector('#remoteVideo');
peerConnection.addEventListener('track', async (event) => {
const [remoteStream] = event.streams;
remoteVideo.srcObject = remoteStream;
});
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-08-22 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Não contém as informações de que eu preciso"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Muito complicado / etapas demais"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Desatualizado"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Problema na tradução"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Problema com as amostras / o código"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Outro"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Fácil de entender"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Meu problema foi resolvido"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Outro"
}]
{"lastModified": "\u00daltima atualiza\u00e7\u00e3o 2024-08-22 UTC."}
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2024-08-22 UTC."],[],[]]