Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Передача потокових даних на основі WebRTC

Реферат Передача потокових даних на основі WebRTC





а якими можна однозначно встановити зв'язок між клієнтом і потоком, який виходить від нього. У браузері MozillaFirefox (Gecko) об'єкт stream не містить таких полів. Про це не говориться в документації, тому це викликало певні проблеми на етапі тестування бібліотеки. Дана проблема була вирішена шляхом перевизначення об'єкта stream і додавання в нього унікального ключа.

Малюнок 25 - Додавання ключа до потоку

Вищеописані зміни додали підтримку основними браузерами, такими як Mozilla, Chrome, Opera.

Другий завданням даної реалізації було спростити процес створення відеоконференцій і реалізувати додатковий функціонал, такий як, наприклад, блокування користувачів, вимикання камери і мікрофону, збереження додаткової інформації про користувача. Для цього був написаний клас Conference, що виконує роль шару абстракції над бібліотекою RTCPeerBroadcasting і спрощує роботу з нею. Вихідний код класу Conference знаходиться у додатку В.

Конструктор Conference приймає в якості параметрів два аргументи: адреса бази даних Firebase та ім'я конференції. На новому об'єкті Conference викликається метод startConnection для підключення або створення нової конференції. Цей метод приймає в параметрах ім'я користувача та функції зворотних викликів. Ім'я користувача перевіряється на наявність і коректність методом checkLoginAlreadyInUse.

Малюнок 26 - Метод checkLoginAlreadyInUse

Якщо ім'я може бути використано, то проводиться перевірка кількості користувачів в даній конференції. Залежно від кількості користувачів буде вироблено або підключення до конференції, або створення нової (якщо користувачів немає). Для перевірки кількості перевіряється значення в відповідної директорії бази даних.

Малюнок 27 - Перевірка кількості користувачів

Після всіх перевірок створюється новий об'єкт RTCPeerBroadcasting, на якому викликається метод joinRoom або createRoom, а в базу даних записується інформація про користувача. Таким чином, всі перевірки автоматизуються і процес створення або підключення до конференції помітно спрощується в порівнянні з використанням бібліотеки RTCPeerBroadcasting, вимагаючи лише виклику одного методу startConnection.

Для відключення від конференції реалізований метод disconnect, який викликає метод leaveRoom бібліотеки RTCPeerBroadcasting і виробляє відключення від бази даних з видаленням директорії користувача. Цей метод може бути використаний як для самостійного відключення, так і для автоматичного, коли користувач буде вигнаний з конференції.

Для реалізації функції відключення інших користувачів доданий метод kickUser, що приймає як параметр ім'я користувача. При виклику цього методу в директорію зазначеного користувача записується значення" kicked". При підключенні до конференції на директорію користувача вішається подія появи значення" kicked", при спрацьовуванні якого виробляється виклик методу disconnect.

Для реалізації функцій відключення камери і мікрофону додані методи switchAudio і switchVideo, приймаючі параметром логічне значення (true або false). Щоб перемикати мовлення відео або аудіо потоків задіяні методи Stream API, а саме: необхідним що походить потокам задається властивість enabled .

Малюнок 28 - Реалізація методу switchVideo

Процес отримання потоків від інших користувачів реалізований у вигляді події. Після створення об'єкта Conf...


Назад | сторінка 13 з 15 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Особливості прес-конференції як методу взаємодії з аудиторією
  • Реферат на тему: Підсистема автоматичного резервування даних користувачів і їх відновлення п ...
  • Реферат на тему: Створення програми додавання Користувачів в Linux
  • Реферат на тему: Розробка інтерфейсу користувача для роботи з базою даних &Автомайстерня&
  • Реферат на тему: Розробка інтерфейсу користувача для роботи з базою даних Будинку культури