您的位置:首页 > 移动开发 > Swift

swift 快速奔跑的兔几 本节的内容是:用AVAdioPlayer播放声音 语音合成

2015-11-16 21:34 513 查看
AVPlayer被设计用来播放任意类型的视频或者音频。AVFoundation还提供了一个专门为播放声音而设计的类,名为AVAdioPlayer。

对于播放音频来说,AVAdioPlayer是一种比AVPlayer更加简单的选择,并且还有优点呦:

AVAdioPlayer允许为每位玩儿家设定音量;

AVAdioPlayer更容易循环;

可以查询一个AVAdioPlayer,获知其当前输出功率,用来显示随时间变化的音量级。

下面是代码的栗子:

override func viewDidLoad() {
super.viewDidLoad()
let soundURL = NSBundle.mainBundle().URLForResource("sound", withExtension: "wav")
//var error: NSError?
let audioPlayer = try? AVAudioPlayer(contentsOfURL: soundURL!)
audioPlayer!.play()
// 设置音量
audioPlayer?.volume = 0.5
// 无限次循环播放
audioPlayer?.numberOfLoops = -1
// 查看时间点
audioPlayer?.currentTime = 0
}


语音合成:

可以让你的应用程序读出文本。

合成语音有两个主要组件,第一个是AVSpeechUtterance,它表示希望合成的文本。其中包括希望它说话的速度,音量,高音和延迟,还有合成文本时使用的声音;第二个组件是,AVSpeechSynthesizer对象,它负责实际合成,发音和控制传送给它的内容。

let synthesizer = AVSpeechSynthesizer()
let utteranceString = "hello world"
let utterance = AVSpeechUtterance(string: utteranceString)
utterance.rate = 0.175
synthesizer.speakUtterance(utterance)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  swift 语音合成 音频