我正在使用 Here SDK 在 Xcode 中开发一个 iOS 项目。我正在使用高级版(v3.17)。在我的应用程序的“设置”屏幕中,用户可以选择 SDK 正在使用的“语音”(我通过NMAVoiceCatalog
voicePackages
属性获取该列表。)
当用户选择一个声音时,我想播放一个小句子(例如“立即转身”),这样他们就可以立即得到反馈,如果他们喜欢那个声音。
现在,我知道NMAAudioManager
有一种方法playOutput
可以播放预先录制的声音文件或 tts 字符串。太好了,但现在我的问题是:
如何确保该NMAAudioManager.sharedInstance().play(
方法以相同的声音播放NMANavigationManager
?
请务必注意此处的 tts 语音和预录语音之间的区别。
预录的声音 我想这是一个预录的 mp3 或 wav 文件的资源包。我只需要知道我可以使用的一个或多个声音文件的 url。例如,句子“turn right now”的声音文件。我想所有语言的所有声音的文件名都是相同的(虽然不确定)。是否有可用声音文件及其名称的列表?或者您能否给我一些声音文件名(以及 SDK 中的 URL),以便我可以通过 NMAAudioManager 将它们作为测试声音播放?
tts voices
对于这些声音,我可以用每种支持的语言创建一个句子并将其提供给NMAAudioManager.sharedInstance().play(
方法。我会为那个句子创建一个“NMATTSAudioOutput”。但是,我需要正确设置该AVSpeechSynthesisVoice
“NMATTSAudioOutput”实例的语音属性。正确的意思是AVSpeechSynthesisVoice
NMANavigationManager 正在使用的相同。我试过使用AVSpeechSynthesisVoice(language: voicePackage.languageCode)
,但这并没有提供与使用相同的 AVSpeechSynthesisVoice NMANavigationManager
。例如 English UK tts voicePackage 与 English US 一起播放AVSpeechSynthesisVoice
。你能和我分享一下如何选择NMANavigationManager
属性吗?AVSpeechSynthesisVoice
NMAVoicePackage