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

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)

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...