swift 快速奔跑的兔几 本节的内容是:用AVAdioPlayer播放声音 语音合成
2015-11-16 21:34
513 查看
AVPlayer被设计用来播放任意类型的视频或者音频。AVFoundation还提供了一个专门为播放声音而设计的类,名为AVAdioPlayer。
对于播放音频来说,AVAdioPlayer是一种比AVPlayer更加简单的选择,并且还有优点呦:
AVAdioPlayer允许为每位玩儿家设定音量;
AVAdioPlayer更容易循环;
可以查询一个AVAdioPlayer,获知其当前输出功率,用来显示随时间变化的音量级。
下面是代码的栗子:
语音合成:
可以让你的应用程序读出文本。
合成语音有两个主要组件,第一个是AVSpeechUtterance,它表示希望合成的文本。其中包括希望它说话的速度,音量,高音和延迟,还有合成文本时使用的声音;第二个组件是,AVSpeechSynthesizer对象,它负责实际合成,发音和控制传送给它的内容。
对于播放音频来说,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)
相关文章推荐
- Apple Swift学习教程
- C#中调用SAPI实现语音合成的2种方法
- java音频播放示例分享(java如何播放音频)
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift编程中的泛型解析
- Swift中定义二维数组的方法及遍历方法示例
- python通过wxPython打开一个音频文件并播放的方法
- 简单分析Swift语言的一些基本特征
- Swift与C语言指针结合使用实例
- Swift心得笔记之控制流
- 用Swift构建一个简单的iOS邮件应用的方法
- 苹果公司推出的新编程语言Swift简介和入门教程
- Swift中的指针操作和使用详细介绍
- Swift中使用正则表达式的一些方法
- Swift心得笔记之运算符
- Swift中使用可选类型完美解决占位问题
- Swift学习笔记之构造器重载
- Swift中的Access Control权限控制介绍
- Swift类型创建之自定义一个类型详解