iOS字符串转语音功能名称及Swift实现代码咨询
iOS文本朗读功能名称及Swift代码示例
功能名称
你提到的iOS选中整段文字进行朗读的系统功能官方名称是朗读所选内容(Speak Selection),它属于iOS辅助功能模块,开启后用户可选中任意文本触发朗读。而实现文本转语音的核心技术依赖于AVFoundation框架中的AVSpeechSynthesizer组件。
Swift代码示例
以下是直接将指定字符串转为语音的基础代码示例:
import AVFoundation // 全局声明语音合成器实例,防止被提前释放 let speechSynthesizer = AVSpeechSynthesizer() /// 将指定文本转为语音朗读 /// - Parameter text: 需要朗读的字符串 func speakText(_ text: String) { // 终止当前正在进行的朗读(如果存在) if speechSynthesizer.isSpeaking { speechSynthesizer.stopSpeaking(at: .immediate) } // 创建语音 utterance 对象,承载待朗读文本 let utterance = AVSpeechUtterance(string: text) // 设置朗读语言为中文普通话,可替换为其他语言代码(如"en-US") utterance.voice = AVSpeechSynthesisVoice(language: "zh-CN") // 调整语速,范围0.0-1.0,默认值0.5 utterance.rate = 0.5 // 调整音量,范围0.0-1.0,默认值1.0 utterance.volume = 1.0 // 开始朗读 speechSynthesizer.speak(utterance) } // 调用示例 speakText("欢迎使用iOS文本转语音功能")
补充说明
- 确保项目中已导入
AVFoundation框架 - 可通过修改
AVSpeechUtterance的属性自定义朗读效果,比如音调(pitchMultiplier)、停顿时间等 - 若需要监听朗读的开始、结束、暂停等状态,可让类遵循
AVSpeechSynthesizerDelegate协议并实现对应方法
内容的提问来源于stack exchange,提问作者Antonio A. Chavez
相关产品推荐
相关产品推荐

