I wrote a plugin, which can cycle between microphones (capture devices) using hotkeys.
This part works. However, I found that when changing capture devices, the voice activation settings are ignored until they are manually changed or until teamspeak is restarted. So the activation settings remain unchanged, they just appear to be inactive. This means that I can use the microphone just fine when switching input device using the plugin, but it is permanently transmitting, even though the VAD is configured properly. When switching to the next device and switching back to the original capture device, the VAD is remains ignored.
Is this intended behavior?
Can I somehow “transfer” the VAD configuration to the newly opened capture device or is there a proper way to change the device?
The brief of my process looks like this:
// Error checks and memory management are left out in favor of readability
char ***devices;
api.getCaptureDeviceList(current_mode, &devices);
// Some validations are done here, to ensure it is always a valid device.
// ...
api.closeCaptureDevice(schid);
api.openCaptureDevice(schid, current_mode, devices[device_index][1]);
PluginSDK version is 26.
TeamSpeak 3 version is 3.6.2.
Thank you,
whookie