Sdílet prostřednictvím


Připojení ke schůzce týmů

Sady SDK služby Azure Communication Services umožňují uživatelům připojovat se k běžným schůzkám Microsoft Teams. Tady je postup!

Požadavky

Nainstalujte sadu SDK .

npm install Pomocí příkazu nainstalujte sadu AZURE Communication Services Common and Calling SDK pro JavaScript:

npm install @azure/communication-common --save
npm install @azure/communication-calling --save

Inicializace požadovaných objektů

Pro CallClient většinu operací volání se vyžaduje instance. Když vytvoříte novou CallClient instanci, můžete ji nakonfigurovat s vlastními možnostmi, jako je Logger instance.

CallClient S instancí můžete vytvořit CallAgent instanci voláním createCallAgent. Tato metoda asynchronně vrátí CallAgent objekt instance.

Metoda createCallAgent se používá CommunicationTokenCredential jako argument. Přijímá přístupový token uživatele.

K přístupu deviceManagermůžete použít metodu getDeviceManager v CallClient instanci .

const { CallClient } = require('@azure/communication-calling');
const { AzureCommunicationTokenCredential} = require('@azure/communication-common');
const { AzureLogger, setLogLevel } = require("@azure/logger");

// Set the logger's log level
setLogLevel('verbose');

// Redirect log output to console, file, buffer, REST API, or whatever location you want
AzureLogger.log = (...args) => {
    console.log(...args); // Redirect log output to console
};

const userToken = '<USER_TOKEN>';
callClient = new CallClient(options);
const tokenCredential = new AzureCommunicationTokenCredential(userToken);
const callAgent = await callClient.createCallAgent(tokenCredential, {displayName: 'optional Azure Communication Services user name'});
const deviceManager = await callClient.getDeviceManager()

Jak nejlépe spravovat připojení sady SDK k infrastruktuře Microsoftu

Tato Call Agent instance vám pomůže spravovat hovory (pro připojení nebo zahájení hovorů). Aby bylo možné pracovat s vaší sadou SDK volání, musí se připojit k infrastruktuře Microsoftu, aby bylo možné dostávat oznámení o příchozích hovorech a koordinovat další podrobnosti volání. Máte Call Agent dva možné stavy:

PřipojenoCall Agent Hodnota connectionStatue znamená, Connected že klientská sada SDK je připojená a dokáže přijímat oznámení z infrastruktury Microsoftu.

OdpojenoCall Agent Hodnota Disconnected connectionStatue stavů existuje problém, který brání sadě SDK, aby se správně připojil. Call Agent by se mělo znovu vytvořit.

  • invalidToken: Pokud vypršela platnost tokenu nebo je neplatná Call Agent instance, odpojí se s touto chybou.
  • connectionIssue: Pokud došlo k problému s klientem, který se připojuje k infrascture Microsoftu, po mnoha opakovaných pokusech Call Agent connectionIssue se zobrazí chyba.

Zkontrolujte, jestli je vaše místní Call Agent infrastruktura připojená k infrastruktuře Microsoftu, a to kontrolou aktuální hodnoty connectionState vlastnosti. Během aktivního volání můžete naslouchat connectionStateChanged události a zjistit, jestli Call Agent se změny ze stavu Připojeno k Odpojeno .

const connectionState = callAgentInstance.connectionState;
console.log(connectionState); // it may return either of 'Connected' | 'Disconnected'

const connectionStateCallback = (args) => {
    console.log(args); // it will return an object with oldState and newState, each of having a value of either of 'Connected' | 'Disconnected'
    // it will also return reason, either of 'invalidToken' | 'connectionIssue'
}
callAgentInstance.on('connectionStateChanged', connectionStateCallback);

Metody připojení ke schůzce

Pokud se chcete připojit ke schůzce Teams, použijte metodu join a předejte odkaz na schůzku nebo souřadnice schůzky.

Připojte se pomocí odkazu na schůzku:

const locator = { meetingLink: '<MEETING_LINK>'}
const call = callAgent.join(locator);

Připojte se pomocí souřadnic schůzek (v současné době je v omezené verzi Preview):

const locator = {
    threadId: <thread id>,
    organizerId: <organizer id>,
    tenantId: <tenant id>,
    messageId: <message id>
}
const call = callAgent.join(locator);

Nastavení systému

Vytvoření projektu sady Visual Studio

V případě aplikace pro UPW v sadě Visual Studio 2022 vytvořte nový projekt Prázdná aplikace (Univerzální windows). Po zadání názvu projektu si můžete vybrat libovolnou sadu Windows SDK později než 10.0.17763.0.

V případě aplikace WinUI 3 vytvořte nový projekt pomocí šablony Prázdná aplikace zabalená (WinUI 3 v desktopové verzi) pro nastavení jednostráňové aplikace WinUI 3. Vyžaduje se sada Windows App SDK verze 1.3 nebo novější.

Instalace balíčku a závislostí pomocí Správce balíčků NuGet

Rozhraní API a knihovny volající sady SDK jsou veřejně dostupné prostřednictvím balíčku NuGet.

Následující postup ukazuje, jak najít, stáhnout a nainstalovat balíček NuGet volající sady SDK:

  1. Otevřete Správce balíčků NuGet výběrem nástrojů>NuGet Správce balíčků> Nabídky NuGet pro řešení.
  2. Vyberte Procházet a zadejte Azure.Communication.Calling.WindowsClient do vyhledávacího pole.
  3. Ujistěte se, že je zaškrtnuté políčko Zahrnout předběžné verze .
  4. Azure.Communication.Calling.WindowsClient Vyberte balíček a pak vyberte Azure.Communication.Calling.WindowsClient verzi 1.4.0-beta.1 nebo novější.
  5. Zaškrtněte políčko odpovídající projektu Komunikační služby na pravé straně.
  6. Vyberte tlačítko Instalovat.

Metody připojení ke schůzce

Pokud se chcete připojit ke schůzce Teams, použijte metodu CallAgent.join a předejte kontext JoinMeetingLocatoraplikace a JoinCallOptions.

ID schůzky a heslo

Vyhledá TeamsMeetingIdLocator schůzku pomocí ID schůzky a hesla. Najdete je v informacích o připojení ke schůzce Teams. ID schůzky v Teams bude dlouhé 12 znaků a bude se skládat z číselných číslic seskupených do tří (tj. 000 000 000 000). Heslo se skládá ze 6 abecedních znaků (tj. aBcDeF). U hesla se rozlišují malá a velká písmena.

String meetingId, passcode; 
TeamsMeetingIdLocator locator = new TeamsMeetingIdLocator(meetingId, passcode);

Vyhledá TeamsMeetingLinkLocator schůzku pomocí odkazu na schůzku v Teams. Najdete ho v informacích o připojení ke schůzce v Teams.

String meetingLink; 
TeamsMeetingLinkLocator locator = new TeamsMeetingLinkLocator(meetingLink);

Souřadnice schůzek

Vyhledá TeamsMeetingCoordinatesLocator schůzky pomocí ID organizátora, ID tenanta, ID vlákna a ID zprávy. Tyto informace najdete v Microsoft Graphu.

Guid organizerId, tenantId;
String threadId, messageId;
TeamsMeetingCoordinatesLocator locator = new TeamsMeetingCoordinatesLocator(threadId, organizerId, tenantId, messageId);

Připojení ke schůzce pomocí lokátorů

Po vytvoření těchto lokátorů schůzek Teams ho můžete použít k připojení ke schůzce Teams pomocí CallAgent.join následujícího obrázku.

JoinCallOptions options = new JoinCallOptions();
call = agent.join(
        getApplicationContext(),
        locator,
        options);

Nastavení systému

Vytvoření projektu sady Visual Studio

V případě aplikace pro UPW v sadě Visual Studio 2022 vytvořte nový projekt Prázdná aplikace (Univerzální windows). Po zadání názvu projektu si můžete vybrat libovolnou sadu Windows SDK později než 10.0.17763.0.

V případě aplikace WinUI 3 vytvořte nový projekt pomocí šablony Prázdná aplikace zabalená (WinUI 3 v desktopové verzi) pro nastavení jednostráňové aplikace WinUI 3. Vyžaduje se sada Windows App SDK verze 1.3 nebo novější.

Instalace balíčku a závislostí pomocí Správce balíčků NuGet

Rozhraní API a knihovny volající sady SDK jsou veřejně dostupné prostřednictvím balíčku NuGet.

Následující postup ukazuje, jak najít, stáhnout a nainstalovat balíček NuGet volající sady SDK:

  1. Otevřete Správce balíčků NuGet výběrem nástrojů>NuGet Správce balíčků> Nabídky NuGet pro řešení.
  2. Vyberte Procházet a zadejte Azure.Communication.Calling.WindowsClient do vyhledávacího pole.
  3. Ujistěte se, že je zaškrtnuté políčko Zahrnout předběžné verze .
  4. Azure.Communication.Calling.WindowsClient Vyberte balíček a pak vyberte Azure.Communication.Calling.WindowsClient verzi 1.4.0-beta.1 nebo novější.
  5. Zaškrtněte políčko odpovídající projektu Komunikační služby na pravé straně.
  6. Vyberte tlačítko Instalovat.

Metody připojení ke schůzce

Pokud se chcete připojit ke schůzce Teams, použijte metodu CallAgent.join a předejte JoinMeetingLocator a a JoinCallOptions.

ID schůzky a heslo

Vyhledá TeamsMeetingIdLocator schůzku pomocí ID schůzky a hesla. Najdete je v informacích o připojení ke schůzce Teams. ID schůzky v Teams bude dlouhé 12 znaků a bude se skládat z číselných číslic seskupených do tří (tj. 000 000 000 000). Heslo se skládá ze 6 abecedních znaků (tj. aBcDeF). U hesla se rozlišují malá a velká písmena.

String meetingId, passcode
let locator = TeamsMeetingIdLocator(meetingId: meetingId, passcode: passcode)

Vyhledá TeamsMeetingLinkLocator schůzku pomocí odkazu na schůzku v Teams. Najdete ho v informacích o připojení ke schůzce v Teams.

String meetingLink
let locator = TeamsMeetingLinkLocator(meetingLink: meetingLink)

Připojení ke schůzce pomocí lokátorů

Po vytvoření těchto lokátorů schůzek Teams ho můžete použít k připojení ke schůzce Teams pomocí CallAgent.join následujícího obrázku.

func joinTeamsMeeting() {
    // Ask permissions
    AVAudioSession.sharedInstance().requestRecordPermission { (granted) in
        if granted {
            let joinCallOptions = JoinCallOptions()
            
            // Insert meeting locator code for specific join methods here

            // for CallAgent callAgent
            self.callAgent?.join(with: teamsMeetingLinkLocator, joinCallOptions: joinCallOptions) 
        }
    }
}

Nastavení systému

Vytvoření projektu sady Visual Studio

V případě aplikace pro UPW v sadě Visual Studio 2022 vytvořte nový projekt Prázdná aplikace (Univerzální windows). Po zadání názvu projektu si můžete vybrat libovolnou sadu Windows SDK později než 10.0.17763.0.

V případě aplikace WinUI 3 vytvořte nový projekt pomocí šablony Prázdná aplikace zabalená (WinUI 3 v desktopové verzi) pro nastavení jednostráňové aplikace WinUI 3. Vyžaduje se sada Windows App SDK verze 1.3 nebo novější.

Instalace balíčku a závislostí pomocí Správce balíčků NuGet

Rozhraní API a knihovny volající sady SDK jsou veřejně dostupné prostřednictvím balíčku NuGet.

Následující postup ukazuje, jak najít, stáhnout a nainstalovat balíček NuGet volající sady SDK:

  1. Otevřete Správce balíčků NuGet výběrem nástrojů>NuGet Správce balíčků> Nabídky NuGet pro řešení.
  2. Vyberte Procházet a zadejte Azure.Communication.Calling.WindowsClient do vyhledávacího pole.
  3. Ujistěte se, že je zaškrtnuté políčko Zahrnout předběžné verze .
  4. Azure.Communication.Calling.WindowsClient Vyberte balíček a pak vyberte Azure.Communication.Calling.WindowsClient verzi 1.4.0-beta.1 nebo novější.
  5. Zaškrtněte políčko odpovídající projektu Komunikační služby na pravé straně.
  6. Vyberte tlačítko Instalovat.

Metody připojení ke schůzce

Pokud se chcete připojit ke schůzce Teams, použijte metodu CallAgent.JoinAsync a předejte JoinMeetingLocator a a JoinCallOptions.

ID schůzky a heslo

Vyhledá TeamsMeetingIdLocator schůzku pomocí ID schůzky a hesla. Najdete je v informacích o připojení ke schůzce Teams. ID schůzky v Teams bude dlouhé 12 znaků a bude se skládat z číselných číslic seskupených do tří (tj. 000 000 000 000). Heslo se skládá ze 6 abecedních znaků (tj. aBcDeF). U hesla se rozlišují malá a velká písmena.

string meetingId, passcode; 
TeamsMeetingIdLocator locator = new TeamsMeetingIdLocator(meetingId, passcode);

Vyhledá TeamsMeetingLinkLocator schůzku pomocí odkazu na schůzku v Teams. Najdete ho v informacích o připojení ke schůzce v Teams.

string meetingLink; 
TeamsMeetingLinkLocator locator = new TeamsMeetingLinkLocator(meetingLink);

Souřadnice schůzek

Vyhledá TeamsMeetingCoordinatesLocator schůzky pomocí ID organizátora, ID tenanta, ID vlákna a ID zprávy. Tyto informace najdete v Microsoft Graphu.

Guid organizerId, tenantId;
string threadId, messageId;
TeamsMeetingCoordinatesLocator locator = new TeamsMeetingCoordinatesLocator(threadId, organizerId, tenantId, messageId);

Připojení ke schůzce pomocí lokátorů

Po vytvoření těchto lokátorů schůzek Teams ho můžete použít k připojení ke schůzce Teams pomocí CallAgent.JoinAsync následujícího obrázku.

var joinCallOptions = new JoinCallOptions() {
        OutgoingAudioOptions = new OutgoingAudioOptions() { IsMuted = true },
        OutgoingVideoOptions = new OutgoingVideoOptions() { Streams = new OutgoingVideoStream[] { cameraStream } }
    };
var call = await callAgent.JoinAsync(locator, joinCallOptions);

Další kroky