26

AVSpeechSynthesizer を使用して話す iOS アプリがあります。iPad やその他のデバイスでは動作しますが、iPhone 6 Plus では動作しないことがわかりました。

コンソール出力を調べると、次のエラーが表示されます。

|AXSpeechAssetDownloader|エラー| ASAssetQuery error fetching results Error Domain=ASError Code=21 "The operation could not be completed. (ASError error 21 - Unable to copy asset information)" UserInfo=0x174a7e100 {NSDescription=Unable to copy assets information}

アプリが実行されているデバイスにはネットワーク接続があります。

これを解決し始める方法はありますか?

4

5 に答える 5

2

このエラーは、言語 A の AVSpeechUtterance コンストラクターに文字列を渡しているが、言語 B を使用して読み上げようとしている場合にも表示されることがあります。

例:

let utterance = AVSpeechUtterance(string: "Hello")
utterance.voice = AVSpeechSynthesisVoice(language: "pl-PL")

この場合、「Hello」はポーランド語 (pl-PL) ではありません。アプリはそのようなエラーを表示し、(場合によっては) テキストを読み上げます。

于 2016-06-19T10:31:20.657 に答える
2

私にとっては、発話文字列のに utterance.voice を設定することでこれを解決できました。

speechUtterL1 = AVSpeechUtterance(string: ("أتمنى لك نهارا سعيد")) 
speechUtterL1.voice = AVSpeechSynthesisVoice(language: "ar-SA")

逆に、音声を 1 回だけ設定すると、エラーが発生します。

[TTS] カスタム音声クエリの実行エラー エラー Domain=ASError Code=15 「アセット タイプ com.apple.MobileAsset.VoiceServices.GryphonVoice のhttps://mesu.apple.com/assets/からアセット情報をコピーできません 」 UserInfo={ NSDescription= 資産タイプ com.apple.MobileAsset.VoiceServices.GryphonVoice のhttps://mesu.apple.com/assets/から資産情報をコピーできません}

于 2018-05-09T11:13:34.673 に答える