Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejs
themeRDark
Flashphoner.createSession({urlServer: url}).on(SESSION_STATUS.ESTABLISHED, function(session){
    setStatus(session.status());
    //session connected, start playback
    publishStream(session);
}).on(SESSION_STATUS.DISCONNECTED, function(){
    setStatus(SESSION_STATUS.DISCONNECTED);
    onStopped();
...
}).on(SESSION_STATUS.FAILED, function(){
    setStatus(SESSION_STATUS.FAILED);
    onStopped();
...
});


4. Публикация видеопотока.

...

Code Block
languagejs
themeRDark
session.createStream({
    name: streamName,
    display: localVideo,
    record: true
}).on(STREAM_STATUS.PUBLISHING, function(stream) {
    setStatus(stream.status());
    onStarted(stream);
}).on(STREAM_STATUS.UNPUBLISHED, function(stream) {
    setStatus(stream.status());
    showDownloadLink(stream.getRecordInfo());
    onStopped();
}).on(STREAM_STATUS.FAILED, function(stream) {
    setStatus(stream.status());
    showDownloadLink(stream.getRecordInfo());
    onStopped();
}).publish();


5. Получение от сервера события, подтверждающего успешную публикацию.

...

Code Block
languagejs
themeRDark
session.createStream({
    name: streamName,
    display: localVideo,
    record: true
}).on(STREAM_STATUS.PUBLISHING, function(stream) {
    setStatus(stream.status());
    onStarted(stream);
}).on(STREAM_STATUS.UNPUBLISHED, function(stream) {
    setStatus(stream.status());
    showDownloadLink(stream.getRecordInfo());
    onStopped();
...
}).on(STREAM_STATUS.FAILED, function(stream) {
    setStatus(stream.status());
    showDownloadLink(stream.getRecordInfo());
    onStopped();
...
}).publish();

При создании к видеопотоку можно добавить callback-функции на события STREAM_STATUS.PUBLISHING, STREAM_STATUS.UNPUBLISHED, STREAM_STATUS.FAILED.

STREAM_STATUS.PUBLISHING - получив этот статус, вызываем функцию примера onStarted(), которая делает соответствующие изменения в контролах интерфейса.

STREAM_STATUS.UNPUBLISHED и STREAM_STATUS.FAILED - получив эти статусы,

  • вызываем функцию примера showDownloadLink() для формирования ссылки для скачивания
  • вызываем функцию примера onStopped(), которая делает соответствующие изменения в контролах интерфейса

При вызове showDownloadLink() передаем имя файла с записью потока, полученное методом stream.getRecordInfo().

6. Остановка публикации видеопотока.

...

Code Block
languagejs
themeRDark
session.createStream({
    name: streamName,
    display: localVideo,
    record: true
}).on(STREAM_STATUS.PUBLISHING, function(stream) {
    setStatus(stream.status());
    onStarted(stream);...
}).on(STREAM_STATUS.UNPUBLISHED, function(stream) {
    setStatus(stream.status());
    showDownloadLink(stream.getRecordInfo());
    onStopped();
}).on(STREAM_STATUS.FAILED, function(stream) {
    setStatus(stream.status());
    showDownloadLink(stream.getRecordInfo());
    onStopped();...
}).publish();


8. Формирование ссылки для скачивания.

...