Udostępnij przez


Dołączanie do spotkania zespołów

Usługi Azure Communication Services w formie zestawów SDK umożliwiają użytkownikom dołączanie do zwykłych spotkań w Microsoft Teams. Oto jak to zrobić!

Wymagania wstępne

Instalacja zestawu SDK

Użyj polecenia npm install aby zainstalować zbiorczy i do dzwonienia SDK usług Azure Communication Services dla języka JavaScript.

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

Inicjowanie wymaganych obiektów

Wystąpienie CallClient jest wymagane dla większości operacji wywołania. Podczas tworzenia nowego wystąpienia CallClient można skonfigurować je opcjami niestandardowymi, podobnie jak wystąpienie Logger.

za pomocą wystąpienia CallClient można utworzyć instancję CallAgent, wywołując funkcję createCallAgent. Ta metoda asynchronicznie zwraca instancję obiektu CallAgent.

Metoda createCallAgent używa CommunicationTokenCredential jako argumentu. Akceptuje token dostępu użytkownika.

Możesz użyć metody getDeviceManager na wystąpieniu CallClient, aby uzyskać dostęp do deviceManager.

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()

Zarządzanie łącznością zestawu SDK z infrastrukturą firmy Microsoft

Wystąpienie Call Agent pomaga zarządzać rozmowami (dołączania do rozmów lub ich rozpoczynania). Aby można było pracować z zestawem SDK wywołującym, należy połączyć się z infrastrukturą firmy Microsoft, aby otrzymywać powiadomienia o połączeniach przychodzących i koordynować inne szczegóły połączeń. Twoje Call Agent ma dwa możliwe stany.

PołączonoCall Agent wartość Connected connectionStatue oznacza, że zestaw SDK klienta jest połączony i może odbierać powiadomienia z infrastruktury firmy Microsoft.

Rozłączone — wartość Call Agent connectionStatus wskazuje na problem, który uniemożliwia prawidłowe nawiązywanie połączenia z SDK. Call Agent należy utworzyć ponownie.

  • invalidToken: Jeśli token wygasł lub jest nieprawidłowy, instancja Call Agent rozłącza się z tym błędem.
  • connectionIssue: jeśli występuje problem z połączeniem klienta z infrastrukturą firmy Microsoft, po wielu ponownych próbach Call Agent uwidacznia błąd connectionIssue.

Możesz sprawdzić, czy środowisko lokalne Call Agent jest połączone z infrastrukturą firmy Microsoft, sprawdzając bieżącą connectionState wartość właściwości. Podczas aktywnego połączenia możesz nasłuchiwać zdarzenia connectionStateChanged, aby określić, czy Call Agent zmienia się ze stanu Połączono na stan Odłączone.

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 dołączania spotkań

Aby dołączyć do spotkania w Teams, użyj metody join i przekaż link do spotkania lub współrzędne spotkania.

Dołącz przy użyciu linku spotkania:

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

Dołącz przy użyciu współrzędnych spotkania (jest to obecnie w ograniczonej wersji zapoznawczej):

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

Konfigurowanie systemu

Wykonaj następujące kroki, aby skonfigurować system.

Tworzenie projektu programu Visual Studio

Dla aplikacji platformy uniwersalnej systemu Windows w programie Visual Studio 2022 utwórz nowy projekt Pusta aplikacja (Uniwersalna platforma Windows). Po wprowadzeniu nazwy projektu możesz wybrać dowolny zestaw Windows SDK nowszy niż 10.0.17763.0.

W przypadku aplikacji WinUI 3 utwórz nowy projekt z szablonem Pusta aplikacja, spakowana (WinUI 3 na komputerze stacjonarnym), aby skonfigurować jednostronicową aplikację WinUI 3. Wymagany jest zestaw Windows App SDK w wersji 1.3 lub nowszej.

Instalowanie pakietu i zależności przy użyciu Menedżer pakietów NuGet

Interfejsy API i biblioteki Calling SDK są publicznie dostępne poprzez pakiet NuGet.

Aby znaleźć, pobrać i zainstalować pakiet NuGet SDK do połączeń:

  1. Otwórz Menedżer pakietów NuGet, wybierając pozycję > Zarządzanie pakietami NuGet dla rozwiązania.
  2. Wybierz pozycję Przeglądaj, a następnie wprowadź ciąg Azure.Communication.Calling.WindowsClient w polu wyszukiwania.
  3. Upewnij się, że pole wyboru Uwzględnij wersję wstępną zostało zaznaczone.
  4. Wybierz pakiet Azure.Communication.Calling.WindowsClient, a następnie wybierz pozycję Azure.Communication.Calling.WindowsClient1.4.0-beta.1 lub nowszą wersję.
  5. Zaznacz pole wyboru odpowiadające projektowi usług Azure Communication Services w okienku po prawej stronie.
  6. Wybierz Zainstaluj.

Metody dołączania spotkań

Aby dołączyć do spotkania Teams, użyj CallAgent.join metody i przekaż kontekst aplikacji, JoinMeetingLocator i JoinCallOptions.

Identyfikator spotkania i kod dostępu

Lokalizuje TeamsMeetingIdLocator spotkanie przy użyciu identyfikatora spotkania i kodu dostępu. Można je znaleźć w informacjach o dołączeniach do spotkania w usłudze Teams. Identyfikator spotkania usługi Teams będzie mieć długość 12 znaków i będzie składać się z cyfr liczbowych pogrupowanych w trójkach (tj. 000 000 000 000). Kod dostępu będzie składać się z 6 znaków alfabetu (tj. aBcDeF). Hasło jest wrażliwe na wielkość liter.

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

Lokalizuje TeamsMeetingLinkLocator spotkanie przy użyciu linku do spotkania Teams. Można je znaleźć w informacjach o dołączeniu do spotkania w usłudze Teams.

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

Współrzędne spotkania

TeamsMeetingCoordinatesLocator znajduje spotkania, korzystając z identyfikatora organizatora, identyfikatora dzierżawy, identyfikatora wątku oraz identyfikatora wiadomości. Te informacje można znaleźć przy użyciu programu Microsoft Graph.

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

Dołączanie do spotkania przy użyciu lokalizatorów

Po utworzeniu tych lokalizatorów spotkań Teams możesz go użyć do dołączenia do spotkania Teams, jak pokazano poniżej CallAgent.join.

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

Konfigurowanie systemu

Wykonaj następujące kroki, aby skonfigurować system.

Tworzenie projektu programu Visual Studio

Dla aplikacji platformy uniwersalnej systemu Windows w programie Visual Studio 2022 utwórz nowy projekt Pusta aplikacja (Uniwersalna platforma Windows). Po wprowadzeniu nazwy projektu możesz wybrać dowolny zestaw Windows SDK nowszy niż 10.0.17763.0.

W przypadku aplikacji WinUI 3 utwórz nowy projekt z szablonem Pusta aplikacja, spakowana (WinUI 3 na komputerze stacjonarnym), aby skonfigurować jednostronicową aplikację WinUI 3. Wymagany jest zestaw Windows App SDK w wersji 1.3 lub nowszej.

Instalowanie pakietu i zależności przy użyciu Menedżer pakietów NuGet

Interfejsy API i biblioteki Calling SDK są publicznie dostępne poprzez pakiet NuGet.

Aby znaleźć, pobrać i zainstalować pakiet NuGet SDK do połączeń:

  1. Otwórz Menedżer pakietów NuGet, wybierając pozycję > Zarządzanie pakietami NuGet dla rozwiązania.
  2. Wybierz pozycję Przeglądaj, a następnie wprowadź ciąg Azure.Communication.Calling.WindowsClient w polu wyszukiwania.
  3. Upewnij się, że pole wyboru Uwzględnij wersję wstępną zostało zaznaczone.
  4. Wybierz pakiet Azure.Communication.Calling.WindowsClient, a następnie wybierz pozycję Azure.Communication.Calling.WindowsClient1.4.0-beta.1 lub nowszą wersję.
  5. Zaznacz pole wyboru odpowiadające projektowi usług Azure Communication Services w okienku po prawej stronie.
  6. Wybierz Zainstaluj.

Metody dołączania spotkań

Aby dołączyć do spotkania w Teams, użyj metody CallAgent.join i przekaż JoinMeetingLocator oraz JoinCallOptions.

Identyfikator spotkania i kod dostępu

Lokalizuje TeamsMeetingIdLocator spotkanie przy użyciu identyfikatora spotkania i kodu dostępu. Można je znaleźć w informacjach o dołączeniach do spotkania w usłudze Teams. Identyfikator spotkania usługi Teams będzie mieć długość 12 znaków i będzie składać się z cyfr liczbowych pogrupowanych w trójkach (tj. 000 000 000 000). Kod dostępu będzie składać się z 6 znaków alfabetu (tj. aBcDeF). Hasło jest wrażliwe na wielkość liter.

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

Lokalizuje TeamsMeetingLinkLocator spotkanie przy użyciu linku do spotkania Teams. Można je znaleźć w informacjach o dołączeniu do spotkania w usłudze Teams.

String meetingLink
let locator = TeamsMeetingLinkLocator(meetingLink: meetingLink)

Dołączanie do spotkania przy użyciu lokalizatorów

Po utworzeniu tych lokalizatorów spotkań Teams możesz go użyć do dołączenia do spotkania Teams, jak pokazano poniżej CallAgent.join.

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) 
        }
    }
}

Konfigurowanie systemu

Wykonaj następujące kroki, aby skonfigurować system.

Tworzenie projektu programu Visual Studio

Dla aplikacji platformy uniwersalnej systemu Windows w programie Visual Studio 2022 utwórz nowy projekt Pusta aplikacja (Uniwersalna platforma Windows). Po wprowadzeniu nazwy projektu możesz wybrać dowolny zestaw Windows SDK nowszy niż 10.0.17763.0.

W przypadku aplikacji WinUI 3 utwórz nowy projekt z szablonem Pusta aplikacja, spakowana (WinUI 3 na komputerze stacjonarnym), aby skonfigurować jednostronicową aplikację WinUI 3. Wymagany jest zestaw Windows App SDK w wersji 1.3 lub nowszej.

Instalowanie pakietu i zależności przy użyciu Menedżer pakietów NuGet

Interfejsy API i biblioteki Calling SDK są publicznie dostępne poprzez pakiet NuGet.

Aby znaleźć, pobrać i zainstalować pakiet NuGet SDK do połączeń:

  1. Otwórz Menedżer pakietów NuGet, wybierając pozycję > Zarządzanie pakietami NuGet dla rozwiązania.
  2. Wybierz pozycję Przeglądaj, a następnie wprowadź ciąg Azure.Communication.Calling.WindowsClient w polu wyszukiwania.
  3. Upewnij się, że pole wyboru Uwzględnij wersję wstępną zostało zaznaczone.
  4. Wybierz pakiet Azure.Communication.Calling.WindowsClient, a następnie wybierz pozycję Azure.Communication.Calling.WindowsClient1.4.0-beta.1 lub nowszą wersję.
  5. Zaznacz pole wyboru odpowiadające projektowi usług Azure Communication Services w okienku po prawej stronie.
  6. Wybierz Zainstaluj.

Metody dołączania spotkań

Aby dołączyć do spotkania w Teams, użyj metody CallAgent.JoinAsync i przekaż JoinMeetingLocator oraz JoinCallOptions.

Identyfikator spotkania i kod dostępu

Lokalizuje TeamsMeetingIdLocator spotkanie przy użyciu identyfikatora spotkania i kodu dostępu. Można je znaleźć w informacjach o dołączeniach do spotkania w usłudze Teams. Identyfikator spotkania usługi Teams będzie mieć długość 12 znaków i będzie składać się z cyfr liczbowych pogrupowanych w trójkach (tj. 000 000 000 000). Kod dostępu będzie składać się z 6 znaków alfabetu (tj. aBcDeF). Hasło jest wrażliwe na wielkość liter.

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

Lokalizuje TeamsMeetingLinkLocator spotkanie przy użyciu linku do spotkania Teams. Można je znaleźć w informacjach o dołączeniu do spotkania w usłudze Teams.

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

Współrzędne spotkania

TeamsMeetingCoordinatesLocator znajduje spotkania, korzystając z identyfikatora organizatora, identyfikatora dzierżawy, identyfikatora wątku oraz identyfikatora wiadomości. Te informacje można znaleźć przy użyciu programu Microsoft Graph.

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

Dołączanie do spotkania przy użyciu lokalizatorów

Po utworzeniu tych lokalizatorów spotkań Teams możesz go użyć do dołączenia do spotkania Teams, jak pokazano poniżej CallAgent.JoinAsync.

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

Następne kroki