Создание события готовности к трансляции#
Бета-версия
Функциональность находится в режиме бета-версии. Функции могут быть изменены, а также могут работать нестабильно. В будущем за функционал может взиматься дополнительная плата.
Подключение к функционалу можно запросить через техподдержку GREEN-API
От класса GreenApiVoipClient наследует несколько важных событий, с помощью которых можно управлять жизненным циклом вызова.
После успешного установления соединения и готовности удаленного медиапотока запускается событие remote-stream-ready. Это событие используется для начала воспроизведения удаленного аудиоопотока.
const audioElement = document.createElement('audio');
Наш объект будет использоваться обработчиком объектов:
greenApiClient.addEventListener('remote-stream-ready', (event) => {
const remoteStream = event.detail;
// For example, attach the stream to an audio element to play the sound
const audioElement = document.createElement('audio');
audioElement.srcObject = remoteStream;
audioElement.play();
console.log('Remote stream ready and playing.');
});
В наших примерах мы управляем медиапотоком для соверщения вызовов, а так же останавливаем поток при завершении вызовов.
async function run() {
greenApiClient.addEventListener("local-stream-ready", (...args) => console.log("local-stream-ready", ...args));
greenApiClient.addEventListener("remote-stream-ready", (...args) => {
console.log("remote-stream-ready", ...args);
audioElement.srcObject = args[0].detail;
audioElement.play();
});
greenApiClient.addEventListener("end-call", (...args) => {
console.log("end-call", ...args);
audioElement.srcObject = null;
audioElement.pause();
});
greenApiClient.addEventListener("call-state", (...args) => console.log("call-state", ...args));
greenApiClient.addEventListener("incoming-call", (...args) => console.log("incoming-call", ...args));
}