#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);
}});