...
Code Block | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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. Формирование ссылки для скачивания.
...