LiTranslate-iOS/LiTranslate/Application/SpeechSynthesis.swift

37 lines
952 B
Swift
Raw Normal View History

2022-09-10 19:46:05 +02:00
//
// SpeechSynthesis.swift
// LiTranslate
//
// Created by Viktor Kalyniuk on 13.08.2022.
//
import Foundation
import AVFoundation
class SpeechSynthesis {
private let synthesize = AVSpeechSynthesizer()
func play(_ string: String, language: Languages) {
2022-09-10 19:46:05 +02:00
let utterance = AVSpeechUtterance(string: string)
do {
try AVAudioSession.sharedInstance().setCategory(.playback,mode: .default)
} catch let error {
print("\(error.localizedDescription)")
}
2022-09-10 19:46:05 +02:00
utterance.voice = AVSpeechSynthesisVoice(language: language.rawValue)
synthesize.speak(utterance)
2022-09-10 19:46:05 +02:00
}
func canSynthesis(language: Languages) -> Bool {
2022-09-10 19:46:05 +02:00
let speechVoices = AVSpeechSynthesisVoice.speechVoices()
for speechVoice in speechVoices {
if speechVoice.language.prefix(2) == language.rawValue {
return true
}
}
return false
}
}