Přeskočit na hlavní obsah

Výběr zařízení pomocí API

info

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