Macro changes system audio pref but not FaceTime's prefs

I thought I found a macro for switching audio input and audio output in FaceTime. The macro does switch system preferences, but the FaceTime preferences remain unchanged. I don't understand. (I'm new to KM.)

Macro iconToggle two SOUND OUTPUT devices
Triggered by any of the following:
Trigger iconThe Hot Key ⌃⌥⌘S is pressed
Will execute the following actions:
Action iconSet Variable “soundDeviceONE” to Text
Sennheiser SC660 Control
Action iconSet Variable “soundDeviceTWO” to Text
Sennheiser SC660 Control
Action iconExecute JavaScript For Automation
(function (strDeviceA, strDeviceB) {
'use strict';

var e = Application("System Preferences"),
    b = !1,
    d;
e.panes["com.apple.preference.sound"].anchors.output.reveal();
var a = Application("System Events").processes["System Preferences"].windows[
        0].tabGroups[0].scrollAreas[0].tables[0].rows,
    c = a.where({
        selected: !0
    }),
    c = c.length ? c[0].textFields[0].value() : null;
if (!c) return null;
var f = -1 !== c.indexOf(strDeviceA) ? strDeviceB : strDeviceA;
a().forEach(function (a) {
    b || (d = a.textFields[0].value(), -1 !== d.indexOf(f) &&
        (a.select(), b = !0));
});
a = Application.currentApplication();
a.includeStandardAdditions = !0;
a.activate();
a.displayNotification(b ? "-> " + d :
    "Couldn't find a sound device containing this string: \"" + f + '"', {
        withTitle: "Sound Output Device " + (b ? "" : "NOT ") + "Changed"
    });
e.quit();
return b;

})(kmVar('soundDeviceONE').value(), kmVar('soundDeviceTWO').value());

function kmVar(k) {
var kme = Application("Keyboard Maestro Engine"),
vs = kme.variables,
vks = vs.where({
name: k
});

return vks.length ? vks[0] :
    vs.push(kme.Variable({
        'name': k
    })) && vs[k];

}