---
title: "speechSynthesizer(_:didFinishSpeaking:)"
framework: appkit
role: symbol
role_heading: Instance Method
path: "appkit/nsspeechsynthesizerdelegate/speechsynthesizer(_:didfinishspeaking:)"
---

# speechSynthesizer(_:didFinishSpeaking:)

Sent when an NSSpeechSynthesizer object finishes speaking through the sound output device.

## Declaration

```swift
@MainActor optional func speechSynthesizer(_ sender: NSSpeechSynthesizer, didFinishSpeaking finishedSpeaking: Bool)
```

## Parameters

- `sender`: An doc://com.apple.appkit/documentation/AppKit/NSSpeechSynthesizer object that has stopped speaking into the sound output device.
- `finishedSpeaking`: doc://com.apple.documentation/documentation/Swift/true when speaking completed normally, doc://com.apple.documentation/documentation/Swift/false if speaking is stopped prematurely for any reason.

## See Also

### Related Documentation

- [startSpeaking(_:)](appkit/nsspeechsynthesizer/startspeaking(_:).md)
- [stopSpeaking()](appkit/nsspeechsynthesizer/stopspeaking().md)

### Synthesizing Speech

- [speechSynthesizer(_:willSpeakWord:of:)](appkit/nsspeechsynthesizerdelegate/speechsynthesizer(_:willspeakword:of:).md)
- [speechSynthesizer(_:willSpeakPhoneme:)](appkit/nsspeechsynthesizerdelegate/speechsynthesizer(_:willspeakphoneme:).md)
- [speechSynthesizer(_:didEncounterErrorAt:of:message:)](appkit/nsspeechsynthesizerdelegate/speechsynthesizer(_:didencountererrorat:of:message:).md)
- [speechSynthesizer(_:didEncounterSyncMessage:)](appkit/nsspeechsynthesizerdelegate/speechsynthesizer(_:didencountersyncmessage:).md)
