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
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- En distribuerad Communication Services-resurs. Skapa en Communication Services-resurs.
- En användaråtkomsttoken för att aktivera den anropande klienten. Mer information finns i Skapa och hantera åtkomsttoken.
- Valfritt: Slutför snabbstarten för att lägga till röstsamtal i ditt program
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 deviceManager
till .
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 ogiltigCall 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ökCall Agent
har exponeratconnectionIssue
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
Följ de här stegen för att konfigurera systemet.
Skapa Visual Studio-projektet
För en Universell Windows-plattform app skapar du i Visual Studio 2022 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. SDK för Windows-appar version 1.3 eller senare krävs.
Installera paketet och beroendena med hjälp av NuGet Package Manager
Anropande SDK-API:er och bibliotek är offentligt tillgängliga via ett NuGet-paket.
Så här hittar du, laddar ned och installerar det anropande SDK NuGet-paketet:
- Öppna NuGet Package Manager genom att välja Verktyg>NuGet Package Manager>Hantera NuGet-paket för lösning.
- Välj Bläddra och ange sedan Azure.Communication.Calling.WindowsClient i sökrutan.
- Kontrollera att kryssrutan Inkludera förhandsversion är markerad.
- Välj paketet Azure.Communication.Calling.WindowsClient och välj sedan Azure.Communication.Calling.WindowsClient 1.4.0-beta.1 eller en nyare version.
- Markera kryssrutan som motsvarar Azure Communication Services-projektet i den högra rutan.
- Välj Installera.
Metoder för möteskoppling
Om du vill ansluta till ett Teams-möte använder du CallAgent.join
metoden och skickar programkontexten , JoinMeetingLocator
och 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);
Möteslänk
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
Följ de här stegen för att konfigurera systemet.
Skapa Visual Studio-projektet
För en Universell Windows-plattform app skapar du i Visual Studio 2022 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. SDK för Windows-appar version 1.3 eller senare krävs.
Installera paketet och beroendena med hjälp av NuGet Package Manager
Anropande SDK-API:er och bibliotek är offentligt tillgängliga via ett NuGet-paket.
Så här hittar du, laddar ned och installerar det anropande SDK NuGet-paketet:
- Öppna NuGet Package Manager genom att välja Verktyg>NuGet Package Manager>Hantera NuGet-paket för lösning.
- Välj Bläddra och ange sedan Azure.Communication.Calling.WindowsClient i sökrutan.
- Kontrollera att kryssrutan Inkludera förhandsversion är markerad.
- Välj paketet Azure.Communication.Calling.WindowsClient och välj sedan Azure.Communication.Calling.WindowsClient 1.4.0-beta.1 eller en nyare version.
- Markera kryssrutan som motsvarar Azure Communication Services-projektet i den högra rutan.
- Välj 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)
Möteslänk
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
Följ de här stegen för att konfigurera systemet.
Skapa Visual Studio-projektet
För en Universell Windows-plattform app skapar du i Visual Studio 2022 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. SDK för Windows-appar version 1.3 eller senare krävs.
Installera paketet och beroendena med hjälp av NuGet Package Manager
Anropande SDK-API:er och bibliotek är offentligt tillgängliga via ett NuGet-paket.
Så här hittar du, laddar ned och installerar det anropande SDK NuGet-paketet:
- Öppna NuGet Package Manager genom att välja Verktyg>NuGet Package Manager>Hantera NuGet-paket för lösning.
- Välj Bläddra och ange sedan Azure.Communication.Calling.WindowsClient i sökrutan.
- Kontrollera att kryssrutan Inkludera förhandsversion är markerad.
- Välj paketet Azure.Communication.Calling.WindowsClient och välj sedan Azure.Communication.Calling.WindowsClient 1.4.0-beta.1 eller en nyare version.
- Markera kryssrutan som motsvarar Azure Communication Services-projektet i den högra rutan.
- Välj 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);
Möteslänk
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);