我已使用AVSpeechSynthesizer. 单击“播放”时,将播放转换后的语音。我不知道该音频文件的扩展名。
我的目标是将这个创建的音频文件转换为 .mp3。我在谷歌上搜索过,但没有找到任何东西。任何帮助表示赞赏。
我的代码在这里:将文本转换为语音
text = UserDefaults.standard.string(forKey: "TextString")!
voice = selectCountryDic["Clanguage"]!
let speechText = AVSpeechUtterance(string:text)
speechText.voice = AVSpeechSynthesisVoice(language:voice)
let synthesizer = AVSpeechSynthesizer()
synthesizer.speak(speechText)
Run Code Online (Sandbox Code Playgroud)
2021-02-20 更新:
现在可以了。请参阅线程:AVSpeechSynthesizer 输出为文件?
2017 年答案(已过时):
一个简单的策略是首先将输出保存到AVSpeechSynthesizer目录中,然后更改其格式。
但是,据我所知,它AVSpeechSynthesizer不允许您保存输出。我建议您检查以下帖子:将音频流保存到 mp3 文件(iOS)
引用IanStallings:
不幸的是,没有,没有公共 API 可用于捕获扬声器输出,并且查看 AVSpeechSynthesizer 和相关类的文档,我没有找到从中捕获任何音频的方法。您可能需要查看第三方库来帮助解决此问题。
另一个:AVSpeechSynthesizer 输出为文件?
再次引用Bhumit Mehta的话:
截至目前 AVSpeechSynthesizer 不支持此功能。无法使用 AVSpeechSynthesizer 获取音频文件。几周前,我在我的一个应用程序中尝试了这一点,发现这是不可能的,而且 iOS 8 中的 AVSpeechSynthesizer 也没有任何变化。
| 归档时间: |
|
| 查看次数: |
5081 次 |
| 最近记录: |