「en-US」以外の音声で AVSpeechSynthesizer を使用できない人はいますか? 呼び出したときに返される配列はAVSpeechSynthesisVoice speechVoices
、iOS 7 で表示できる完全なリストを返しますが、実際には機能しません。
iOS 8 のリリース ノートで既知の問題を調べてみましたが、これについては何もわかりませんでした。複数の音声を使用するアプリがいくつかあるので、これはフル バージョンで修正されることを願っています。
「en-US」以外の音声で AVSpeechSynthesizer を使用できない人はいますか? 呼び出したときに返される配列はAVSpeechSynthesisVoice speechVoices
、iOS 7 で表示できる完全なリストを返しますが、実際には機能しません。
iOS 8 のリリース ノートで既知の問題を調べてみましたが、これについては何もわかりませんでした。複数の音声を使用するアプリがいくつかあるので、これはフル バージョンで修正されることを願っています。
この問題は、iOS 8.1 で修正されたようです。
私見、これは GM であっても iOS8 のバグです。私はこのプロジェクトで遊んでいました: https://github.com/mattt/AVSpeechSynthesizer-Example
私の調査結果は次のとおりです。
1) iOS 8 は、どのシミュレーターでも話しませんでした (XCode 6GM、XCode 6.1b2)。それは実際のデバイスでのみ話しました。
2) iOS 8 は、電話の言語 (私の場合はロシア語) と英語 (en-US) で話しました。電話の言語をドイツ語に変更すると、ドイツ語と英語の TTS が聞こえます。優先言語リストの言語の 1 つとしてドイツ語を追加しても役に立ちませんでした。言語を電話言語として設定する必要があります。不明な理由で、ロシア語は電話言語でなくても機能しましたが、ドイツ語では同じではありませんでした。電話言語として設定されている場合にのみ機能していました。たぶん実際の場所が重要です(私はロシアにいます)。確かに: iOS8 は何らかの方法で TTS エンジンを「最適化」したため、すべてのエンジンを使用できるわけではありません。
3) 一部の人々は、iOS 8 の別のバグに気付きました: AVSpeechSynthesizer を最初に使用しようとすると無音になります。ここで回避策を参照してください。