Замена канала веб-камеры в Microsoft TeamsC#

Место общения программистов C#
Ответить
Anonymous
 Замена канала веб-камеры в Microsoft Teams

Сообщение Anonymous »

Некоторое время я пытался создать бот или приложение вкладки Teams, которое могло бы заменить канал веб-камеры участника, у которого оно установлено, и предоставило ему разрешения на чтение и запись мультимедиа онлайн-совещания, но безуспешно.
До сих пор я пробовал Node.js, которому действительно не хватало поддержки со стороны Microsoft для некоторых инструментов, таких как API коммуникаций Graph и SDK, поэтому я перешел на бот C #, который оказался успешным на некоторых этапах после размещения его на Windows Server. Виртуальная машина с двумя выделенными физическими сокетами, как того требует документация.
После некоторых настроек на портале Azure с ключами и доверенным сертификатом SSL я могу использовать Graph API.
В настоящее время бот может присоединиться к собранию в качестве участника в режиме презентации через почтовый запрос и может передавать сгенерированное потоковое видео через VideoSocket.Send() после получения сборок и типов буфера, который следует использовать с это.
Теперь я хочу использовать этот метод (или любой другой известный, но это единственный многообещающий метод, который я нашел) для перехвата и отправки видеокадров вместо каналов с веб-камеры для участника, у которого есть этот бот.
Любая помощь очень ценится, поскольку я натыкаюсь на кирпичную стену.
Для справки, вот как бот отправляет кадры в настоящее время
var assemblies = AppDomain.CurrentDomain.GetAssemblies();

foreach (var assembly in assemblies)
{
var sendBufferType = assembly.GetTypes()
.FirstOrDefault(t => t.Name == "VideoSendBuffer");

if (sendBufferType != null)
{
var constructors = sendBufferType.GetConstructors(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
var staticMethods = sendBufferType.GetMethods(BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic)
.Where(m => m.Name.Contains("Create") || m.Name.Contains("New"));

foreach (var constructor in constructors)
{
try
{
var parameters = constructor.GetParameters();

if (parameters.Length

Подробнее здесь: https://stackoverflow.com/questions/798 ... soft-teams
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»