Назначить переменную из вызова API в Java

#javascript #api

#javascript #API

Вопрос:

Итак… Я пытаюсь написать быстрый и грязный макрос для некоторых моих конечных точек видео, и пока я могу писать скрипты на Python и оболочке.. Javascript — не самый сильный мой язык. … и я имею дело с проблемой незнания.

Цель: Внедрить простую кнопку, которая «отключает» и «включает» видеокамеры в системе .. с помощью одной кнопки. Я могу выполнить эту работу с помощью двух кнопок, но мне действительно нужно, чтобы она работала только с одной (пространство экрана ограничено).

Я могу запросить кодек, чтобы получить текущее состояние отключения звука видео с помощью API, но как мне сохранить возвращаемое значение из начального вызова API в качестве переменной, которую я затем могу протестировать, чтобы переключать вещи с отключения звука на включение.

 import xapi from 'xapi';

xapi.event.on('UserInterface Extensions Panel Clicked', (event) => {
  if (event.PanelId === "VideoMute") {
      xapi.Status.Video.Input.MainVideoMute
        .get()
        .then((MainVideoMute) => console.log("testing", MainVideoMute));
          if (MainVideoMute == "Off") {  //<= I need this to be an var for MainVideoMute 
          console.log("The Video Mute is off.");
          xapi.command("Video Input Mainvideo Mute"); //<= turns the camera off
        }
        else {
          xapi.command("Video Input Mainvideo unMute"); //<= turns the camera on
        }
    }});
  

Комментарии:

1. Java или JS? Это совершенно разные языки.

2. это Javascript..

3. если вы отформатировали свой код, вы бы увидели if is после then , а не внутри него. так MainVideoMute что не устанавливается .. как вы выяснили, создание функции для вызова в then работает, заменяя журнал консоли. вам также не нужна функция vMuteCont playcode.io/675860

Ответ №1:

Итак, после того, как я возился с этим более часа и был довольно зол из-за того, что ничего стандартного, похоже, не работало.. Я предположил, что переменная не может быть экспортирована из чрезвычайно локальных пределов.. и использовал функцию для размещения логического теста и выполнения отключения звука / включения. Теперь работает просто отлично.

 import xapi from 'xapi';
function vMuteCont(vMute){
  if (vMute == "Off") {
          console.log("The Video Mute is off.");
          xapi.command("Video Input Mainvideo Mute");
        }
        else {
          xapi.command("Video Input Mainvideo unMute");
        };
}
xapi.event.on('UserInterface Extensions Panel Clicked', (event) => {
  if (event.PanelId === "VideoMute") {
    xapi.status.get('Video Input MainVideoMute')
    .then(vMuteCont);
    }});