js сохранение инициализированной переменной

D
На сайте с 06.02.2017
Offline
17
327

Вот фрагмент кода:

session.on('streamCreated', (event) => {


// Subscribe to the Stream to receive it
// HTML video will be appended to element with 'video-container' id


subscriber = session.subscribe(event.stream, 'video-container');

// When the HTML video has been appended to DOM...
subscriber.on('videoElementCreated', (event) => {
localRecorderS = OV.initLocalRecorder(subscriber.stream);

});

});
});

На выходе, при срабатывании события subscriber.on имеем переменную localRecorderS и можем использовать ее для функции, по api. Но проблема в том, что событие может срабатывать несколько раз и каждый раз переменная localRecorderS переопределяется и фактические действия происходят с последней, есть ли возможность как-то сохранить старые варианты.

Типа событие первое localRecorderS1 = OV.initLocalRecorder(subscriber.stream); событие второе localRecorderS2 = OV.initLocalRecorder(subscriber.stream);

Сама суть скрипта, в том что при каждом срабатывании, в контейнере появляется медиа плеер с подключившимся клиентом (видео звонок) все они подключаются, видят друг друга, а для записи видео потока требуется инициализированная переменная localRecorderS, которая остается одна, последнего подключившегося и соответственно запись ведется только его потока

S
На сайте с 30.09.2016
Offline
459
#1

Можно, например, определить какую-то переменную localRecorderSs как массив, а потом записывать старую переменную в этот массив


localRecorderSs = localRecorderS;
i++;
localRecorderS = OV.initLocalRecorder(subscriber.stream);
Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
D
На сайте с 06.02.2017
Offline
17
#2

Сделал вот так

function updateNumVideosS(i) {

numVideosS += i;
alert(numVideosS);
if (numVideosS == 1) {
localRecorderS = OV.initLocalRecorder(subscriber.stream);
}
if (numVideosS == 2) {
localRecorderN = OV.initLocalRecorder(subscriber.stream);
}
}
А в событие воткнул функцию updateNumVideosS(1);

Правильно ли я понял что надо так:

function updateNumVideosS(i) {

numVideosS += i;

localRecorderSs[numVideosS ] = localRecorderS;

localRecorderS = OV.initLocalRecorder(subscriber.stream);

}

А обращаться потом так localRecorderSs[1]

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий