27 lines
731 B
Swift
27 lines
731 B
Swift
//
|
|
// SpeechSynthesis.swift
|
|
// LiTranslate
|
|
//
|
|
// Created by Viktor Kalyniuk on 13.08.2022.
|
|
//
|
|
|
|
import Foundation
|
|
import AVFoundation
|
|
|
|
struct SpeechSynthesis {
|
|
static func play(_ string: String, language: Languages) {
|
|
let utterance = AVSpeechUtterance(string: string)
|
|
utterance.voice = AVSpeechSynthesisVoice(language: language.rawValue)
|
|
AVSpeechSynthesizer().speak(utterance)
|
|
}
|
|
|
|
static func canSynthesis(language: Languages) -> Bool {
|
|
let speechVoices = AVSpeechSynthesisVoice.speechVoices()
|
|
for speechVoice in speechVoices {
|
|
if speechVoice.language.prefix(2) == language.rawValue {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|
|
}
|