Dela via


Delta i ett teammöte

Azure Communication Services-SDK:er kan göra det möjligt för användarna att ansluta till regelbundna Microsoft Teams-möten. Så här gör du!

Förutsättningar

Installera SDK:n

npm install Använd kommandot för att installera Azure Communication Services Common och Calling SDK för JavaScript:

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

Initiera nödvändiga objekt

En CallClient instans krävs för de flesta anropsåtgärder. När du skapar en ny CallClient instans kan du konfigurera den med anpassade alternativ som en Logger instans.

Med instansen CallClient kan du skapa en CallAgent instans genom att anropa createCallAgent. Den här metoden returnerar asynkront ett CallAgent instansobjekt.

Metoden createCallAgent använder CommunicationTokenCredential som argument. Den accepterar en användaråtkomsttoken.

Du kan använda getDeviceManager metoden på instansen CallClient för att få åtkomst deviceManagertill .

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

Så här hanterar du SDK-anslutning till Microsoft-infrastruktur på bästa sätt

Instansen Call Agent hjälper dig att hantera anrop (för att ansluta eller starta samtal). För att kunna arbeta måste din anropande SDK ansluta till Microsofts infrastruktur för att få meddelanden om inkommande samtal och samordna annan samtalsinformation. Du Call Agent har två möjliga tillstånd:

Ansluten – Ett Call Agent connectionStatue-värde Connected innebär att klient-SDK:t är anslutet och kan ta emot meddelanden från Microsofts infrastruktur.

Frånkopplad – Ett Call Agent connectionStatue-värde för Disconnected tillstånd det finns ett problem som hindrar SDK:n från att ansluta korrekt. Call Agent ska återskapas.

  • invalidToken: Om en token har upphört att gälla eller om en ogiltig Call Agent instans kopplas från med det här felet.
  • connectionIssue: Om det finns ett problem med att klienten ansluter till Microsoft-infrastrukturen, efter att många återförsök Call Agent har exponerat connectionIssue felet.

Du kan kontrollera om din lokala Call Agent är ansluten till Microsofts infrastruktur genom att granska det aktuella värdet för connectionState egenskapen. Under ett aktivt anrop kan du lyssna på connectionStateChanged händelsen för att avgöra om Call Agent det ändras från Anslutet till frånkopplat tillstånd.

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

Metoder för möteskoppling

Om du vill ansluta till ett Teams-möte använder du join metoden och skickar en möteslänk eller ett mötes koordinater.

Anslut med hjälp av en möteslänk:

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

Anslut med hjälp av möteskoordinater (detta är för närvarande i begränsad förhandsversion):

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

Konfigurera systemet

Skapa Visual Studio-projektet

För en UWP-app i Visual Studio 2022 skapar du ett nytt projekt för Tom app (Universell Windows). När du har angett projektnamnet kan du välja valfri Windows SDK senare än 10.0.17763.0.

För en WinUI 3-app skapar du ett nytt projekt med mallen Tom app, Paketerad (WinUI 3 i Desktop) för att konfigurera en WinUI 3-app med en enda sida. Windows App SDK version 1.3 eller senare krävs.

Installera paketet och beroendena med hjälp av NuGet Upravljač za pakete

Anropande SDK-API:er och bibliotek är offentligt tillgängliga via ett NuGet-paket.

Följande steg illustrerar hur du hittar, laddar ned och installerar NuGet-paketet Calling SDK:

  1. Öppna NuGet Upravljač za pakete genom att välja Verktyg>NuGet Upravljač za pakete> Hantera NuGet-paket för lösning.
  2. Välj Bläddra och ange Azure.Communication.Calling.WindowsClient sedan i sökrutan.
  3. Kontrollera att kryssrutan Inkludera förhandsversion är markerad.
  4. Välj paketet Azure.Communication.Calling.WindowsClient och välj Azure.Communication.Calling.WindowsClient sedan 1.4.0-beta.1 eller en nyare version.
  5. Markera kryssrutan som motsvarar Communication Services-projektet på den högra fliken.
  6. Välj knappen Installera.

Metoder för möteskoppling

Om du vill ansluta till ett Teams-möte använder du CallAgent.join metoden och skickar programkontexten , JoinMeetingLocatoroch JoinCallOptions.

Mötes-ID och lösenord

Letar TeamsMeetingIdLocator upp ett möte med hjälp av ett mötes-ID och lösenord. Dessa finns under teams-mötets kopplingsinformation. Ett Teams-mötes-ID är 12 tecken långt och består av numeriska siffror grupperade i treor (dvs. 000 000 000 000). Ett lösenord består av 6 alfabettecken (d.v.s. aBcDeF). Lösenordet är skiftlägeskänsligt.

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

Letar TeamsMeetingLinkLocator upp ett möte med hjälp av en länk till ett Teams-möte. Detta finns under teams-mötets kopplingsinformation.

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

Möteskoordinater

Söker TeamsMeetingCoordinatesLocator efter möten med hjälp av ett organisatörs-ID, klientorganisations-ID, tråd-ID och ett meddelande-ID. Den här informationen finns i Microsoft Graph.

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

Ansluta till mötet med lokaliserare

När du har skapat dessa Teams-möteslokaliserare kan du använda det för att ansluta till ett Teams-möte med hjälp av CallAgent.join det som visas nedan.

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

Konfigurera systemet

Skapa Visual Studio-projektet

För en UWP-app i Visual Studio 2022 skapar du ett nytt projekt för Tom app (Universell Windows). När du har angett projektnamnet kan du välja valfri Windows SDK senare än 10.0.17763.0.

För en WinUI 3-app skapar du ett nytt projekt med mallen Tom app, Paketerad (WinUI 3 i Desktop) för att konfigurera en WinUI 3-app med en enda sida. Windows App SDK version 1.3 eller senare krävs.

Installera paketet och beroendena med hjälp av NuGet Upravljač za pakete

Anropande SDK-API:er och bibliotek är offentligt tillgängliga via ett NuGet-paket.

Följande steg illustrerar hur du hittar, laddar ned och installerar NuGet-paketet Calling SDK:

  1. Öppna NuGet Upravljač za pakete genom att välja Verktyg>NuGet Upravljač za pakete> Hantera NuGet-paket för lösning.
  2. Välj Bläddra och ange Azure.Communication.Calling.WindowsClient sedan i sökrutan.
  3. Kontrollera att kryssrutan Inkludera förhandsversion är markerad.
  4. Välj paketet Azure.Communication.Calling.WindowsClient och välj Azure.Communication.Calling.WindowsClient sedan 1.4.0-beta.1 eller en nyare version.
  5. Markera kryssrutan som motsvarar Communication Services-projektet på den högra fliken.
  6. Välj knappen Installera.

Metoder för möteskoppling

Om du vill ansluta till ett Teams-möte använder du CallAgent.join metoden och skickar en JoinMeetingLocator och en JoinCallOptions.

Mötes-ID och lösenord

Letar TeamsMeetingIdLocator upp ett möte med hjälp av ett mötes-ID och lösenord. Dessa finns under teams-mötets kopplingsinformation. Ett Teams-mötes-ID är 12 tecken långt och består av numeriska siffror grupperade i treor (dvs. 000 000 000 000). Ett lösenord består av 6 alfabettecken (d.v.s. aBcDeF). Lösenordet är skiftlägeskänsligt.

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

Letar TeamsMeetingLinkLocator upp ett möte med hjälp av en länk till ett Teams-möte. Detta finns under teams-mötets kopplingsinformation.

String meetingLink
let locator = TeamsMeetingLinkLocator(meetingLink: meetingLink)

Ansluta till mötet med lokaliserare

När du har skapat dessa Teams-möteslokaliserare kan du använda det för att ansluta till ett Teams-möte med hjälp av CallAgent.join det som visas nedan.

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

Konfigurera systemet

Skapa Visual Studio-projektet

För en UWP-app i Visual Studio 2022 skapar du ett nytt projekt för Tom app (Universell Windows). När du har angett projektnamnet kan du välja valfri Windows SDK senare än 10.0.17763.0.

För en WinUI 3-app skapar du ett nytt projekt med mallen Tom app, Paketerad (WinUI 3 i Desktop) för att konfigurera en WinUI 3-app med en enda sida. Windows App SDK version 1.3 eller senare krävs.

Installera paketet och beroendena med hjälp av NuGet Upravljač za pakete

Anropande SDK-API:er och bibliotek är offentligt tillgängliga via ett NuGet-paket.

Följande steg illustrerar hur du hittar, laddar ned och installerar NuGet-paketet Calling SDK:

  1. Öppna NuGet Upravljač za pakete genom att välja Verktyg>NuGet Upravljač za pakete> Hantera NuGet-paket för lösning.
  2. Välj Bläddra och ange Azure.Communication.Calling.WindowsClient sedan i sökrutan.
  3. Kontrollera att kryssrutan Inkludera förhandsversion är markerad.
  4. Välj paketet Azure.Communication.Calling.WindowsClient och välj Azure.Communication.Calling.WindowsClient sedan 1.4.0-beta.1 eller en nyare version.
  5. Markera kryssrutan som motsvarar Communication Services-projektet på den högra fliken.
  6. Välj knappen Installera.

Metoder för möteskoppling

Om du vill ansluta till ett Teams-möte använder du CallAgent.JoinAsync metoden och skickar en JoinMeetingLocator och en JoinCallOptions.

Mötes-ID och lösenord

Letar TeamsMeetingIdLocator upp ett möte med hjälp av ett mötes-ID och lösenord. Dessa finns under teams-mötets kopplingsinformation. Ett Teams-mötes-ID är 12 tecken långt och består av numeriska siffror grupperade i treor (dvs. 000 000 000 000). Ett lösenord består av 6 alfabettecken (d.v.s. aBcDeF). Lösenordet är skiftlägeskänsligt.

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

Letar TeamsMeetingLinkLocator upp ett möte med hjälp av en länk till ett Teams-möte. Detta finns under teams-mötets kopplingsinformation.

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

Möteskoordinater

Söker TeamsMeetingCoordinatesLocator efter möten med hjälp av ett organisatörs-ID, klientorganisations-ID, tråd-ID och ett meddelande-ID. Den här informationen finns i Microsoft Graph.

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

Ansluta till mötet med lokaliserare

När du har skapat dessa Teams-möteslokaliserare kan du använda det för att ansluta till ett Teams-möte med hjälp av CallAgent.JoinAsync det som visas nedan.

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

Nästa steg