SDK Reference · Type
STMediaStopRecordReason
Classifies why an audio-recording operation stopped.
Overview
When a recording ends, this value explains why it stopped. Distinguish an application-requested stop from an automatic stop condition or interruption before deciding whether to accept, retry, or discard the recording.
public enum STMediaStopRecordReason: String, Sendable {
case unknownError
case writeToStreamError
case alreadyRecording
case writingToAudioFileError
case readingFromAudioFileError
case audioFormatError
case insufficientPriority
case requiresForeground
case audioEngineStartFailed
case unknown
case ended
case stopped
case maximumAudioDurationExceeded
case maximumPreSpeechSilenceExceeded
case maximumPostSpeechSilenceExceeded
case maximumSpeechDurationExceeded
case reachedEndOfFile
}
The cases fall into three practical groups: errors, normal completion/explicit stop, and configured recording limits. reachedEndOfFile applies to file-backed recording/processing.
Cases
.unknownError— Unknown error option..writeToStreamError— Write to stream error option..alreadyRecording— Already recording option..writingToAudioFileError— Writing to audio file error option..readingFromAudioFileError— Reading from audio file error option..audioFormatError— Audio format error option..insufficientPriority— Insufficient priority option..requiresForeground— Requires foreground option..audioEngineStartFailed— Audio engine start failed option..unknown— Unknown option..ended— Ended option..stopped— Stopped option..maximumAudioDurationExceeded— Maximum audio duration exceeded option..maximumPreSpeechSilenceExceeded— Maximum pre speech silence exceeded option..maximumPostSpeechSilenceExceeded— Maximum post speech silence exceeded option..maximumSpeechDurationExceeded— Maximum speech duration exceeded option..reachedEndOfFile— Reached end of file option.
Swift example
let selection: STMediaStopRecordReason = .unknownError