Výběr zařízení pomocí API
Následující funkcionality jsou dostupné jen pokud se operátorovi spustí SoftPhone.
Získání možností výběru a vybraných zařízení pomocí callbacku
Získání možností výběru (v4.19.0)
Jelikož je možné získat informaci o dostupných zařízení až po povolení uživatelem, není možné zařízení poskytnout ihned. Dále se možnosti mohou měnit na základě například připojení nového zařízení (externích sluchátek).
Proto jsou zařízení dostupná pomocí callbacku v nastavení aplikace. Tento callback bude zavolán ined po načtení aplikace v případě, že zobrazení zařízení je již povoleno nebo hned po povolení uživatelem. Dále bude zavolán při každé změně dostupných zařízení.
Při prvním zavolání tohoto callbacku budou z principu jak input tak output devices prázdné, protože operátorská aplikace je získává z prohlížeče, který je také poskytuje na základě callbacku. Inicializační hodnoty tedy přijdou až ve druhém zavolání.
window.ucsOperator = {
onDeviceOptionsChange: (
inputDeviceOptions: { deviceId: string, label: string }[],
outputDeviceOptions: { deviceId: string, label: string }[]
) => { console.log('SOFTPHONE IO', inputDeviceOptions, outputDeviceOptions); },
};
Získání informace o vybraném zařízení (v4.19.0)
Informaci o vybraném zařízení aplikace poskytne pomocí callback onSelectedDeviceChange
,
ve kterém jako argumentu přijdou všechny 3 zvolené zařízení. Metoda je vyvolána při inicializaci i pokaždé kdy se nějaké zařízení změní.
Navíc je callback zavolán i pokud se změní dostupná zařízení, jelikož aplikace použije výchozí zařízení pokud nastavené není dostupné.
To může nastat například při odpojení sluchátek.
window.ucsOperator = {
onSelectedDeviceChange: (
inputDevice: { deviceId: string, label: string },
outputDevice: { deviceId: string, label: string },
ringDevice: { deviceId: string, label: string },
) => { console.info('SOFTPHONE DEVICE CHANGED', inputDevice, outputDevice, ringDevice); },
};
Manuální získání dostupných a vybraných zařízení pomocí API metody (v4.19.0)
Pro získání informací o zařízeních je možné použít funkci getSoftPhoneDevices
.
Tato cesta je vhodná například pokud aplikace nemůže poslouchat na změny neustále nebo není možné si aktuální stav ukládat.
V tom případě je možné zavoláním funkce získat aktuální stav dostupných a vybraných zařízení.
Tato funkce vrací následující objekt:
{
inputDeviceOptions: { deviceId: string, label: string }[];
outputDeviceOptions: { deviceId: string, label: string }[];
selectedInputDeviceId: string;
selectedOutputDeviceId: string;
selectedRingDeviceId: string;
}
Ukázka datové struktury, kterou vrátí funkce:
window.ucsOperator.getSoftPhoneDevices() → {
"inputDeviceOptions": [
{"deviceId": "default", "label": "Default - MacBook Pro Microphone (Built-in)"},
{"deviceId": "ce5044f5db61", "label": "MacBook Pro Microphone (Built-in)"},
],
"outputDeviceOptions": [
{"deviceId": "default", "label": "Default - MacBook Pro Speakers (Built-in)"},
{"deviceId": "97f3681d4ced", "label": "MacBook Pro Speakers (Built-in)"},
],
"selectedInputdeviceId": "ce5044f5db61",
"selectedOutputdeviceId": "default",
"selectedRingdeviceId": "default",
}
Výběr zařízení (v4.19.0)
Pro výběr zařízení pomocí API existují 3 metody:
selectInputDevice: (deviceId: string) => void
selectOutputDevice: (deviceId: string) => void
selectRingDevice: (deviceId: string) => void
Například pro změnu zařízení pro vstup (mikrofon) na systémový výchozí mikrofon, zavolá se metoda selectInputDevice
s parametrem default
.
window.ucsOperator.selectInputDevice('default');
Test vybraného zařízení (v4.31.0)
Vybrané zařízení je možné otestovat přehráním krátkého testovacího zvuku.
Metody pro vyvolání testu:
testOutputDevice: () => void
testRingDevice: () => void