テキストだけ差し替える方法があるかもしれないけど、読み上げテキストで初期化する方法でも大丈夫。
import UIKit
import AVFoundation
class ViewController: UIViewController {
var talker = AVSpeechSynthesizer()
let talkTxt = "こんにちわ、今日はいい天気ですね"
let talkText2 = "テキスト2"
let talkTextEng = "hello"
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// 読み上げ内容を初期化
var utterance = AVSpeechUtterance(string: talkTxt)
// 日本語
utterance.voice = AVSpeechSynthesisVoice(language: "ja-JP")
// 読み上げ
self.talker.speakUtterance(utterance)
// 2回目
utterance = AVSpeechUtterance(string: talkText2)
utterance.voice = AVSpeechSynthesisVoice(language: "ja-JP") // defaultは英語なので毎回指定
self.talker.speakUtterance(utterance)
// 英語文を日本語で(読める)
utterance = AVSpeechUtterance(string: talkTextEng)
utterance.voice = AVSpeechSynthesisVoice(language: "ja-JP")
self.talker.speakUtterance(utterance)
// utterance.speechString = "こんにちわ" // get onlyなのでテキストのみ差し替えはできない?
// self.talker.speakUtterance(utterance)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
0 件のコメント:
コメントを投稿