アプリケーション開発ポータルサイト
ServerNote.NET
Amazon.co.jpでPC関連商品タイムセール開催中!
カテゴリー【SwiftiPhone/iPadMacOS
【Swift UI】Unable to list voice folderの対処法
POSTED BY
2023-08-03

AVSpeechSynthesizerをletで宣言しているのが悪いらしい。

let synthesizer = AVSpeechSynthesizer()
let utterance = AVSpeechUtterance(string: 'すぴーち')
utterance.voice = AVSpeechSynthesisVoice(language: "ja-JP")
utterance.rate = 0.5
synthesizer.speak(utterance)

クラスのメンバ変数としてvarで先定義しておくと解決する。

@Published var synthesizer = AVSpeechSynthesizer()

...

let utterance = AVSpeechUtterance(string: 'すぴーち')
utterance.voice = AVSpeechSynthesisVoice(language: "ja-JP")
utterance.rate = 0.5
self.synthesizer.speak(utterance)

なおAVSpeechUtteranceも同じようにクラス変数で先定義して、スピーチ文字列speechStringを後で代入、としてみたら、speechStringはletだからダメだよ、とエラーになった。utteranceはその場生成するしかない模様。

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

☆ServerNote.NETショッピング↓
ShoppingNote / Amazon.co.jp
☆お仲間ブログ↓
一人社長の不動産業務日誌
【キーワード検索】