タイトル : Swift-Playgrounds: 文字列を音声出力2(iPadOS16で修正)
更新日 : 2022-10-30
カテゴリ : プログラミング
タグ :
swift   

iPadOS16になったら、音が出なくなった😢

あれ? 音声読み上げてくれなくなったぞ?

以下がありました。

AVSpeechSynthesizer isn't working under ios16 anymore https://stackoverflow.com/questions/73706115/avspeechsynthesizer-isnt-working-under-ios16-anymore

修正ですね

もともとの書き方が良くなかったような気もするが...

import AVFoundation

// iPadOS16の場合、ここに持ってくる
let synthesizer = AVSpeechSynthesizer()

/**
 引数で渡されたtext:Stringを音声出力する
 - parameter text: 音声出力するテキスト
 */
func speak(_ text: String) {
    // iPadOS16ではここを関数の外に出す
    // let synthesizer = AVSpeechSynthesizer()
    let utterance = AVSpeechUtterance(string: text)
    utterance.voice = AVSpeechSynthesisVoice(language: "ja-JP")
    synthesizer.speak(utterance)
}