Delen via


Ondertiteling inschakelen voor teams-interoperabiliteit

Meer informatie over hoe u uw gebruikers in staat stelt ondertiteling in te schakelen tijdens een interoperabiliteitsscenario van Teams, waar uw gebruikers zich mogelijk in een vergadering bevinden tussen een Azure Communication Services-gebruiker en een Teams-clientgebruiker, of waar uw gebruikers azure Communication Services-aanroepen-SDK gebruiken met hun Microsoft 365-identiteit.

Vereisten

Notitie

Houd er rekening mee dat u een app voor spraakgesprekken moet hebben met azure Communication Services-aanroepende SDK's voor toegang tot de functie ondertiteling die in deze handleiding wordt beschreven.

Modellen

Name Beschrijving
CaptionsCallFeature API voor aanroepfunctie voor bijschriften
TeamsCaptions API voor Teams-bijschriften
StartCaptionOptions Opties voor ondertiteling, zoals gesproken taal
TeamsCaptionsReceivedEventArgs Het gegevensobject dat is ontvangen voor elke Ontvangen Gebeurtenis van Teams-bijschriften

Functie voor ondertiteling ophalen

Externe identiteitsgebruikers en Microsoft 365-gebruikers

Als u een toepassing bouwt waarmee Gebruikers van Azure Communication Services kunnen deelnemen aan een Teams-vergadering

CaptionsCallFeature captionsCallFeature = call.Features.Captions;
CallCaptions callCaptions = await captionsCallFeature.GetCaptionsAsync();
if (callCaptions.CaptionsKind == CaptionsKind.TeamsCaptions)
{
    TeamsCaptions teamsCaptions = callCaptions as TeamsCaptions;
} 

Abonneren op listeners

Een listener toevoegen voor het ontvangen van ondertitelingsstatus ingeschakeld/uitgeschakeld

teamsCaptions.CaptionsEnabledChanged += OnIsCaptionsEnabledChanged;

private void OnIsCaptionsEnabledChanged(object sender, PropertyChangedEventArgs args)
{
    if (teamsCaptions.IsEnabled)
    {
    }
}

Listener toevoegen voor ontvangen bijschriftgegevens

teamsCaptions.CaptionsReceived += OnCaptionsReceived;

private void OnCaptionsReceived(object sender, TeamsCaptionsReceivedEventArgs eventArgs)
{
    // Information about the speaker.
    // eventArgs.Speaker
    // The original text with no transcribed.
    // eventArgs.SpokenText
    // language identifier for the captions text.
    // eventArgs.CaptionLanguage
    // language identifier for the speaker.
    // eventArgs.SpokenLanguage
    // The transcribed text.
    // eventArgs.CaptionText
    // Timestamp denoting the time when the corresponding speech was made.
    // eventArgs.Timestamp
    // CaptionsResultKind is Partial if text contains partially spoken sentence.
    // It is set to Final once the sentence has been completely transcribed.
    // eventArgs.ResultKind
}

Een listener toevoegen om de status actieve gesproken taal te ontvangen

teamsCaptions.ActiveSpokenLanguageChanged += OnIsActiveSpokenLanguageChanged;

private void OnIsActiveSpokenLanguageChanged(object sender, PropertyChangedEventArgs args)
{
    // teamsCaptions.ActiveSpokenLanguage
}

Een listener toevoegen om de status van de actieve ondertitelingstaal te ontvangen

teamsCaptions.ActiveCaptionLanguageChanged += OnIsActiveCaptionLanguageChanged;

private void OnIsActiveCaptionLanguageChanged(object sender, PropertyChangedEventArgs args)
{
    // teamsCaptions.ActiveCaptionLanguage
}

Bijschriften starten

Zodra u al uw listeners hebt ingesteld, kunt u nu beginnen met het toevoegen van bijschriften.


private async void StartCaptions()
{
    var options = new StartCaptionsOptions
    {
        SpokenLanguage = "en-us"
    };
    try
    {
        await teamsCaptions.StartCaptionsAsync(options);
    }
    catch (Exception ex)
    {
    }
}

Bijschriften stoppen

private async void StopCaptions()
{
    try
    {
        await teamsCaptions.StopCaptionsAsync();
    }
    catch (Exception ex)
    {
    }
}

Ondertiteling ontvangen listener verwijderen

teamsCaptions.CaptionsReceived -= OnCaptionsReceived;

Ondersteuning voor gesproken taal

Lijst met ondersteunde gesproken talen ophalen

Haal een lijst op met ondersteunde gesproken talen waaruit uw gebruikers kunnen kiezen bij het inschakelen van ondertiteling.

// bcp 47 formatted language code
IReadOnlyList<string> sLanguages = teamsCaptions.SupportedSpokenLanguages;```

### Set spoken language 
When the user selects the spoken language, your app can set the spoken language that it expects captions to be generated from. 

``` cs 
public async void SetSpokenLanguage()
{
    try
    {
        await teamsCaptions.SetSpokenLanguageAsync("en-us");
    }
    catch (Exception ex)
    {
    }
}

Ondersteuning voor ondertitelingstaal

Ondersteunde ondertitelingstaal ophalen

Als uw organisatie een actieve Licentie voor Teams Premium heeft, kunnen uw Azure Communication Services-gebruikers vertaalde bijschriften inschakelen zolang de organisator van de vergadering een Teams Premium-licentie heeft. Wat gebruikers met Microsoft 365-identiteiten betreft, wordt deze controle uitgevoerd voor hun eigen gebruikersaccount als de organisator van de vergadering geen Teams Premium-licentie heeft.

// ISO 639-1 formatted language code
IReadOnlyList<string> cLanguages = teamsCaptions.SupportedCaptionLanguages;

Bijschrifttaal instellen

public async void SetCaptionLanguage()
{
    try
    {
        await teamsCaptions.SetCaptionLanguageAsync("en");
    }
    catch (Exception ex)
    {
    }
}

Vereisten

Notitie

Houd er rekening mee dat u een app voor spraakgesprekken moet hebben met azure Communication Services-aanroepende SDK's voor toegang tot de functie ondertiteling die in deze handleiding wordt beschreven.

Modellen

Name Beschrijving
CaptionsCallFeature API voor bijschriften
CaptionsCommon Basisklasse voor bijschriften
StartCaptionOptions Opties voor ondertiteling, zoals gesproken taal
TeamsCaptionHandler Callback-definitie voor het verwerken van de gebeurtenis CaptionsReceivedEventType
TeamsCaptionsInfo Gegevensstructuur ontvangen voor elke captionsReceivedEventType-gebeurtenis

Functie voor ondertiteling ophalen

Externe identiteitsgebruikers

Als u een toepassing bouwt waarmee Azure Communication Services-gebruikers kunnen deelnemen aan een Teams-vergadering.

let captionsCallFeature: SDK.CaptionsCallFeature = call.feature(SDK.Features.Captions);

Microsoft 365-gebruikers

let captionsCallFeature: SDK.CaptionsCallFeature = teamsCall.feature(SDK.Features.Captions);

Ondertitelingsobject voor teams ophalen

U moet het Teams Captions-object ophalen en casten om specifieke functies voor Teams-bijschriften te kunnen gebruiken

let teamsCaptions: SDK.TeamsCaptions;
if (captionsCallFeature.captions.kind === 'TeamsCaptions') {
    teamsCaptions = captionsCallFeature.captions as SDK.TeamsCaptions;
}

Abonneren op listeners

Een listener toevoegen om de actieve/inactieve status van bijschriften te ontvangen

const captionsActiveChangedHandler = () => {
    if (teamsCaptions.isCaptionsFeatureActive) {
        /* USER CODE HERE - E.G. RENDER TO DOM */
    }
}
teamsCaptions.on('CaptionsActiveChanged', captionsActiveChangedHandler);

Een listener toevoegen voor ontvangen bijschriftgegevens

Het geretourneerde TeamsCaptionsInfo-gegevensobject verwerken.

Opmerking: het object bevat een resultType prop die aangeeft of de gegevens een gedeeltelijk bijschrift of een definitieve versie van het bijschrift zijn. ResultType partial geeft live niet-bewerkt bijschrift aan, terwijl final een definitieve geïnterpreteerde versie van de zin wordt aangegeven (dat wil bijvoorbeeld interpunctie en hoofdlettergebruik bevatten).

let currentCaptionLanguage : string;
const captionsReceivedHandler : TeamsCaptionsHandler = (data: TeamsCaptionsInfo) => { 
    /** USER CODE HERE - E.G. RENDER TO DOM 
     * data.captionLanguage
     * data.captionText
     * data.resultType
     * data.speaker
     * data.spokenText
     * data.timeStamp
    */
   // Example code:
   // Create a dom element, i.e. div, with id "captionArea" before proceeding with the sample code
    if (!this._currentCaptionLanguage || this._currentCaptionLanguage === data.captionLanguage) {
        let mri: string;
        switch (data.speaker.identifier.kind) {
            case 'communicationUser': { mri = data.speaker.identifier.communicationUserId; break; }
            case 'microsoftTeamsUser': { mri = data.speaker.identifier.microsoftTeamsUserId; break; }
            case 'phoneNumber': { mri = data.speaker.identifier.phoneNumber; break; }
        }
        const outgoingCaption = `prefix${mri.replace(/:/g, '').replace(/-/g, '')}`;

        let captionArea = document.getElementById("captionArea");
        const captionText = `${data.timestamp.toUTCString()}
            ${data.speaker.displayName}: ${data.captionText ?? data.spokenText}`;

        let foundCaptionContainer = captionArea.querySelector(`.${outgoingCaption}[isNotFinal='true']`);
        if (!foundCaptionContainer) {
            let captionContainer = document.createElement('div');
            captionContainer.setAttribute('isNotFinal', 'true');
            captionContainer.style['borderBottom'] = '1px solid';
            captionContainer.style['whiteSpace'] = 'pre-line';
            captionContainer.textContent = captionText;
            captionContainer.classList.add(newClassName);

            captionArea.appendChild(captionContainer);
        } else {
            foundCaptionContainer.textContent = captionText;

            if (captionData.resultType === 'Final') {
                foundCaptionContainer.setAttribute('isNotFinal', 'false');
            }
        }
    }
}; 
teamsCaptions.on('CaptionsReceived', captionsReceivedHandler); 

Een listener toevoegen om de gewijzigde status van de gesproken taal te ontvangen

const spokenLanguageChangedHandler = () => {
    if (teamsCaptions.activeSpokenLanguage !== currentSpokenLanguage) {
        /* USER CODE HERE - E.G. RENDER TO DOM */
    }
}
teamsCaptions.on('SpokenLanguageChanged', spokenLanguageChangedHandler)

Een listener toevoegen om de status van de gewijzigde ondertitelingstaal te ontvangen

const captionLanguageChangedHandler = () => {
    if (teamsCaptions.activeCaptionLanguage !== currentCaptionLanguage) {
        /* USER CODE HERE - E.G. RENDER TO DOM */
    }
}
teamsCaptions.on('CaptionLanguageChanged', captionLanguageChangedHandler)

Bijschriften starten

Zodra u al uw listeners hebt ingesteld, kunt u nu beginnen met het toevoegen van bijschriften.

try {
    await teamsCaptions.startCaptions({ spokenLanguage: 'en-us' });
} catch (e) {
    /* USER ERROR HANDLING CODE HERE */
}

Bijschriften stoppen

try {
    teamsCaptions.stopCaptions(); 
} catch (e) {
    /* USER ERROR HANDLING CODE HERE */
}

Afmelden voor listeners

teamsCaptions.off('CaptionsActiveChanged', captionsActiveChangedHandler);
teamsCaptions.off('CaptionsReceived', captionsReceivedHandler); 

Ondersteuning voor gesproken taal

Een lijst met ondersteunde gesproken talen ophalen

Haal een lijst op met ondersteunde gesproken talen waaruit uw gebruikers kunnen kiezen bij het inschakelen van ondertiteling. De eigenschap retourneert een matrix met talen in bcp 47-indeling.

const spokenLanguages = teamsCaptions.supportedSpokenLanguages; 

Gesproken taal instellen

Geef een waarde door vanuit de matrix met ondersteunde gesproken talen om ervoor te zorgen dat de aangevraagde taal wordt ondersteund. Als contoso standaard geen taal of een niet-ondersteunde taal biedt, wordt de gesproken taal standaard ingesteld op 'en-us'.

// bcp 47 formatted language code
const language = 'en-us'; 

// Altneratively, pass a value from the supported spoken languages array
const language = spokenLanguages[0]; 

try {
    teamsCaptions.setSpokenLanguage(language);
} catch (e) {
    /* USER ERROR HANDLING CODE HERE */
}

Ondersteuning voor ondertitelingstaal

Een lijst met ondersteunde ondertitelingstalen ophalen

Als uw organisatie een actieve Licentie voor Teams Premium heeft, kunt u uw gebruikers toestaan om vertaalde bijschriften te gebruiken die worden geleverd door Teams-bijschriften. Net als voor gebruikers met een Microsoft 365-identiteit, als de organisator van de vergadering geen actieve Licentie voor Teams Premium heeft, wordt de taalcontrole voor bijschriften uitgevoerd op basis van het Microsoft 365-gebruikersaccount.

De eigenschap retourneert een matrix van tweeletterige taalcodes in ISO 639-1 standaard.

const captionLanguages = teamsCaptions.supportedCaptionLanguages;

Bijschrifttaal instellen

// ISO 639-1 formatted language code
const language = 'en'; 

// Altneratively, pass a value from the supported caption languages array
const language = captionLanguages[0];
try {
    teamsCaptions.setCaptionLanguage(language);
} catch (e) {
    /* USER ERROR HANDLING CODE HERE */
}

Vereisten

Notitie

Houd er rekening mee dat u een app voor spraakgesprekken moet hebben met azure Communication Services-aanroepende SDK's voor toegang tot de functie ondertiteling die in deze handleiding wordt beschreven.

Modellen

Name Beschrijving
CaptionsCallFeature API voor aanroepfunctie voor bijschriften
TeamsCaptions API voor Teams-bijschriften
StartCaptionOptions Opties voor ondertiteling, zoals gesproken taal
TeamsCaptionsListener Listener voor TeamsCaptions addOnCaptionsReceivedListener
TeamsCaptionsReceivedEvent Gegevensobject ontvangen voor elke TeamsCaptionsListener-gebeurtenis

Functie voor ondertiteling ophalen

Externe identiteitsgebruikers en Microsoft 365-gebruikers

Als u een toepassing bouwt waarmee gebruikers kunnen deelnemen aan een Teams-vergadering

CaptionsCallFeature captionsCallFeature = call.feature(Features.CAPTIONS);
captionsCallFeature.getCaptions().whenComplete(
    ((captions, throwable) -> {
        if (throwable == null) {
            CallCaptions callCaptions = captions;
            if (captions.getCaptionsType() == CaptionsType.TEAMS_CAPTIONS) {
            // teams captions
            TeamsCaptions teamsCaptions = (TeamsCaptions) captions;
            }
        } else {
        // get captions failed
        // throwable is the exception/cause
        }
    }));

Abonneren op listeners

Een listener toevoegen voor het ontvangen van ondertitelingsstatus ingeschakeld/uitgeschakeld

public void addOnIsCaptionsEnabledChangedListener() {
    teamsCaptions.addOnCaptionsEnabledChangedListener( (PropertyChangedEvent args) -> {
        if(teamsCaptions.isEnabled()) {
            // captions enabled
        }
    });
}

Listener toevoegen voor ontvangen bijschriftgegevens

TeamsCaptionsListener captionsListener = (TeamsCaptionsReceivedEvent args) -> {
  // Information about the speaker.
  // CallerInfo participantInfo = args.getSpeaker();
  // The original text with no transcribed.
  // args.getSpokenText();
  // language identifier for the captions text.
  // args.getCaptionLanguage();
  // language identifier for the speaker.
  // args.getSpokenLanguage();
  // The transcribed text.
  // args.getCaptionText();
  // Timestamp denoting the time when the corresponding speech was made.
  // args.getTimestamp();
  // CaptionsResultType is Partial if text contains partially spoken sentence.
  // It is set to Final once the sentence has been completely transcribed.
  // args.getResultType() == CaptionsResultType.FINAL;
}; 
public void addOnCaptionsReceivedListener() {
  teamsCaptions.addOnCaptionsReceivedListener(captionsListener); 
}

Een listener toevoegen om de status actieve gesproken taal te ontvangen

public void addOnActiveSpokenLanguageChangedListener() {
    teamsCaptions.addOnActiveSpokenLanguageChangedListener( (PropertyChangedEvent args) -> {
       // teamsCaptions.getActiveSpokenLanguage()
    });
}

Een listener toevoegen om de status van de actieve ondertitelingstaal te ontvangen

public void addOnActiveCaptionLanguageChangedListener() {
    teamsCaptions.addOnActiveCaptionLanguageChangedListener( (PropertyChangedEvent args) -> {
       // teamsCaptions.getActiveCaptionLanguage()
    });
}

Bijschriften starten

Zodra u al uw listeners hebt ingesteld, kunt u nu beginnen met het toevoegen van bijschriften.

public void startCaptions() {
    StartCaptionsOptions startCaptionsOptions = new StartCaptionsOptions();
    startCaptionsOptions.setSpokenLanguage("en-us");
    teamsCaptions.startCaptions(startCaptionsOptions).whenComplete((result, error) -> {
        if (error != null) {
        }
    });
}

Bijschriften stoppen

public void stopCaptions() {
    teamsCaptions.stopCaptions().whenComplete((result, error) -> {
        if (error != null) {
        }
    });
}

Ondertiteling ontvangen listener verwijderen

public void removeOnCaptionsReceivedListener() {
    teamsCaptions.removeOnCaptionsReceivedListener(captionsListener);
}

Ondersteuning voor gesproken taal

Lijst met ondersteunde gesproken talen ophalen

Haal een lijst op met ondersteunde gesproken talen waaruit uw gebruikers kunnen kiezen bij het inschakelen van ondertiteling.

// bcp 47 formatted language code
teamsCaptions.getSupportedSpokenLanguages();

Gesproken taal instellen

Wanneer de gebruiker de gesproken taal selecteert, kan uw app de gesproken taal instellen waaruit wordt verwacht dat bijschriften worden gegenereerd.

public void setSpokenLanguage() {
    teamsCaptions.setSpokenLanguage("en-us").whenComplete((result, error) -> {
        if (error != null) {
        }
    });
}

Ondersteuning voor ondertitelingstaal

Ondersteunde ondertitelingstaal ophalen

Als uw organisatie een actieve Licentie voor Teams Premium heeft, kunnen uw Azure Communication Services-gebruikers vertaalde bijschriften inschakelen zolang de organisator van de vergadering een Teams Premium-licentie heeft. Wat gebruikers met Microsoft 365-identiteiten betreft, wordt deze controle uitgevoerd voor hun eigen gebruikersaccount als de organisator van de vergadering geen Teams Premium-licentie heeft.

// ISO 639-1 formatted language code
teamsCaptions.getSupportedCaptionLanguages();

Bijschrifttaal instellen

public void setCaptionLanguage() {
    teamsCaptions.setCaptionLanguage("en").whenComplete((result, error) -> {
        if (error != null) {
        }
    });
}

Vereisten

Notitie

Houd er rekening mee dat u een app voor spraakgesprekken moet hebben met azure Communication Services-aanroepende SDK's voor toegang tot de functie ondertiteling die in deze handleiding wordt beschreven.

Modellen

Name Beschrijving
CaptionsCallFeature API voor aanroepfunctie voor bijschriften
TeamsCaptions API voor Teams-bijschriften
StartCaptionOptions Opties voor ondertiteling, zoals gesproken taal
TeamsCaptionsDelegate Delegeren voor Teams-bijschriften
TeamsCaptionsReceivedEventArgs Het gegevensobject dat is ontvangen voor elke Ontvangen Gebeurtenis van Teams-bijschriften

Functie voor ondertiteling ophalen

Externe identiteitsgebruikers en Microsoft 365-gebruikers

Als u een toepassing bouwt waarmee Gebruikers van Azure Communication Services kunnen deelnemen aan een Teams-vergadering

if let call = self.call {
    @State var captionsCallFeature = call.feature(Features.captions)
    captionsCallFeature.getCaptions{(value, error) in
        if let error = error {
            // failed to get captions
        } else {
            if (value?.type == CaptionsType.teamsCaptions) {
                // teams captions
                @State var teamsCaptions = value as? TeamsCaptions
            }
        }
    }
}

Abonneren op listeners

Een listener toevoegen voor het ontvangen van bijschriften ingeschakeld/uitgeschakeld, gesproken taal, status van bijschrifttaal gewijzigd en ontvangen gegevens

extension CallObserver: TeamsCaptionsDelegate {
    // listener for receive captions enabled/disabled status
    public func teamsCaptions(_ teamsCaptions: TeamsCaptions, didChangeCaptionsEnabledState args: PropertyChangedEventArgs) {
        // teamsCaptions.isEnabled
    }
    
    // listener for active spoken language state change
    public func teamsCaptions(_ teamsCaptions: TeamsCaptions, didChangeActiveSpokenLanguageState args: PropertyChangedEventArgs) {
        // teamsCaptions.activeSpokenLanguage
    }
    
    // listener for active caption language state change
    public func teamsCaptions(_ teamsCaptions: TeamsCaptions, didChangeActiveCaptionLanguageState args: PropertyChangedEventArgs) {
        // teamsCaptions.activeCaptionLanguage
    }
    
    // listener for captions data received
    public func teamsCaptions(_ teamsCaptions: TeamsCaptions, didReceiveCaptions:TeamsCaptionsReceivedEventArgs) {
            // Information about the speaker.
            // didReceiveCaptions.speaker
            // The original text with no transcribed.
            // didReceiveCaptions.spokenText
            // language identifier for the captions text.
            // didReceiveCaptions.captionLanguage
            // language identifier for the speaker.
            // didReceiveCaptions.spokenLanguage
            // The transcribed text.
            // didReceiveCaptions.captionText
            // Timestamp denoting the time when the corresponding speech was made.
            // didReceiveCaptions.timestamp
            // CaptionsResultType is Partial if text contains partially spoken sentence.
            // It is set to Final once the sentence has been completely transcribed.
            // didReceiveCaptions.resultType
    }
}

teamsCaptions.delegate = self.callObserver

Bijschriften starten

Zodra u al uw listeners hebt ingesteld, kunt u nu beginnen met het toevoegen van bijschriften.

func startCaptions() {
    guard let teamsCaptions = teamsCaptions else {
        return
    }
    let startCaptionsOptions = StartCaptionsOptions()
    startCaptionsOptions.spokenLanguage = "en-us"
    teamsCaptions.startCaptions(startCaptionsOptions: startCaptionsOptions, completionHandler: { (error) in
        if error != nil {
            
        }
    })
}

Bijschriften stoppen

func stopCaptions() {
    teamsCaptions.stopCaptions(completionHandler: { (error) in
        if error != nil {
            
        }
    })
}

Ondertiteling ontvangen listener verwijderen

teamsCaptions?.delegate = nil

Ondersteuning voor gesproken taal

Lijst met ondersteunde gesproken talen ophalen

Haal een lijst op met ondersteunde gesproken talen waaruit uw gebruikers kunnen kiezen bij het inschakelen van ondertiteling.

// bcp 47 formatted language code
let spokenLanguage : String = "en-us"
for language in teamsCaptions?.supportedSpokenLanguages ?? [] {
    // choose required language
    spokenLanguage = language
}

Gesproken taal instellen

Wanneer de gebruiker de gesproken taal selecteert, kan uw app de gesproken taal instellen waaruit wordt verwacht dat bijschriften worden gegenereerd.

func setSpokenLanguage() {
    guard let teamsCaptions = self.teamsCaptions else {
        return
    }

    teamsCaptions.set(spokenLanguage: spokenLanguage, completionHandler: { (error) in
        if let error = error {
        }
    })
}

Ondersteuning voor ondertitelingstaal

Ondersteunde ondertitelingstaal ophalen

Als uw organisatie een actieve Licentie voor Teams Premium heeft, kunnen uw Azure Communication Services-gebruikers vertaalde bijschriften inschakelen zolang de organisator van de vergadering een Teams Premium-licentie heeft. Wat gebruikers met Microsoft 365-identiteiten betreft, wordt deze controle uitgevoerd voor hun eigen gebruikersaccount als de organisator van de vergadering geen Teams Premium-licentie heeft.

// ISO 639-1 formatted language code
let captionLanguage : String = "en"
for language in teamsCaptions?.supportedCaptionLanguages ?? [] {
    // choose required language
    captionLanguage = language
}

Bijschrifttaal instellen

func setCaptionLanguage() {
    guard let teamsCaptions = self.teamsCaptions else {
        return
    }

    teamsCaptions.set(captionLanguage: captionLanguage, completionHandler: { (error) in
        if let error = error {
        }
    })
}

Resources opschonen

Als u een Communication Services-abonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd. Meer informatie over het opschonen van resources vindt u hier.

Volgende stappen

Raadpleeg voor meer informatie de volgende artikelen: