...
Code Block | ||||
---|---|---|---|---|
| ||||
Flashphoner.createSession({urlServer: url}).on(SESSION_STATUS.ESTABLISHED, function(session){ setStatus(session.status()); //session connected, start playback startStreaming(session); }).on(SESSION_STATUS.DISCONNECTED, function(){ ... }).on(SESSION_STATUS.FAILED, function(){ ... }); |
4. Get audio publishing and playing constraints from the client pageПолучение граничных параметров для публикации и воспроизведения со страницы клиента
getConstraints() код
Audio constraint: true or false (depending on the value both published and played stream will have or have not audio)
Video constraint: true (published and played streams will have videoПараметры аудио: true или false (в зависимости от значения и публикация, и воспроизведение будут производиться с аудио или без)
Параметры видео: true (потоки будут публиковаться и воспроизводиться с видео)
Code Block | ||||
---|---|---|---|---|
| ||||
var constraints = { audio: $("#hasAudio").is(':checked'), video: true }; |
5. Video streamingПубликация видеопотока
session.createStream(), publish() кодWhen stream is created, the following parameters are passed
При создании потока передаются следующие параметры
- streamName - имя потокпотока, публикуемого участником конференции (в данном случае login + "#" + roomName, где login - имя участника)
- mockLocalDisplay - div-элемент, required for the local camera video (will not be displayed to the user in the caseтребуемый для отображения видео локальной камеры (в данном случае не будет виден пользователю)
- constraints - getConstraints() код (in this case is used to specify if the published stream will have audioв данном случае, чтобы указать, должна ли публикация производиться с аудио)
Code Block | ||||
---|---|---|---|---|
| ||||
publishStream = session.createStream({ name: streamName, display: mockLocalDisplay, receiveVideo: false, receiveAudio: false, constraints: getConstraints() }).on(STREAM_STATUS.PUBLISHING, function (publishStream) { ... }); publishStream.publish(); |
6. Receiving the event confirming successful streamingПолучение от сервера события, подтверждающего успешную публикацию потока
StreamStatusEvent PUBLISHING кодOn receiving the event, a stream for playing the participant's conference mixer is created
При получении данного события создается видеопоток для воспроизведения микшера конференции для этого участника
Code Block | ||||
---|---|---|---|---|
| ||||
publishStream = session.createStream({ ... }).on(STREAM_STATUS.PUBLISHING, function (publishStream) { //play preview playStream(session); ... }); |
...
session.createStream(), play() кодWhen stream is created, the following parameters are passed
При создании потока передаются следующие параметры
- streamName - имя микшера, кторый будет воспроизводиться для участника (в данном случае roomName + "-" + login + roomName, где login - имя участника)
- remoteVideo - div-элемент, в котором будет отображаться видео
- constraints - getConstraints() код (in this case is used to specify if the played stream will have audio (в данном случае, чтобы указать, должно ли воспроизведение производиться с аудио)
Code Block | ||||
---|---|---|---|---|
| ||||
conferenceStream = session.createStream({ name: streamName, display: remoteVideo, constraints: getConstraints() ... }); conferenceStream.play(); |
8. Receiving the event confirming successful playbackStreamStatusEvent PLAYING codeПолучение от сервера события, подтверждающего воспроизведение потока
StreamStatusEvent PLAYING код
Code Block | ||||
---|---|---|---|---|
| ||||
conferenceStream = session.createStream({ name: streamName, display: remoteVideo, constraints: getConstraints() }).on(STREAM_STATUS.PENDING, function (stream) { ... }).on(STREAM_STATUS.PLAYING, function (stream) { $("#preloader").hide(); setStatus(stream.status()); onStarted(); }).on(STREAM_STATUS.STOPPED, function () { ... }).on(STREAM_STATUS.FAILED, function (stream) { ... }); |
...
Code Block | ||||
---|---|---|---|---|
| ||||
conferenceStream.stop(); publishStream.stop(); |
10. Receiving the event confirming successful streaming stopПолучение от сервера события, подтверждающего остановку публикации
StreamStatusEvent UNPUBLISHED код
Code Block | ||||
---|---|---|---|---|
| ||||
publishStream = session.createStream({ name: streamName, display: mockLocalDisplay, receiveVideo: false, receiveAudio: false, constraints: getConstraints() }).on(STREAM_STATUS.PUBLISHING, function (publishStream) { ... }).on(STREAM_STATUS.UNPUBLISHED, function () { onStopped(); }).on(STREAM_STATUS.FAILED, function (stream) { ... }); |
11. Receiving the event confirming playback stopПолучение от сервера события, подтверждающего остановку воспроизведения
StreamStatusEvent STOPPED код
...