与使用AVAudioPlayer一样,AVAudioRecorder提供了功能强大而且简单易用的接口来实现音频的录制功能.
AVAudioPlayer中断处理
1.配置音频会话
1.1处理”铃声/静音”开关切换
测试上一节使用AVAudioPlayer播放音频的程序,当开始播放音频时切换设备侧面的”铃声/静音”开关,会发现音频输出也会在这两种状态下切换.为了让我们的程序在这两种状态下都能正常输出音乐,需要在程序启动时对音频会话进行明确的配置.在)application: didFinishLaunchingWithOptions:
中加入如下代码即可:
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
[session setActive:YES error:nil];
MVC登录示例
MVP登录示例
iOS基于MVC的项目重构总结
使用AVAudioPlayer播放音频
AVAudioPlayer
类提供了十分简单的接口用来从文件或内存中播放音频.但是,AVAudioPlayer
不支持播放远程网络音频.
音频会话(Audio Session)
AVSpeechSynthesizer:文本到语音
AV Foundation中提供了一个AVSpeechSynthesizer类来向app中添加朗诵文本的功能.
这个类用来播放一个或者多个语音内容,每条语音内容都是一个AVSpeechUtterance对象.
(快速记忆:一个语音合成器(SpeechSynthesizer)播放需要一段语音内容(SpeechUtterance))
AVFoundation入门
AV Foundation其设计过程高度依赖多线程机制.充分利用了多核硬件的优势并大量使用block和GCD机制将复杂的计算进程放在后台线程运行.会自动提供硬件加速.此外,从一开始该框架就是针对64位处理器设计的,能充分发挥64位处理器的优势.
iOS中MVC的几个误区
- 1.Model是有具备事务处理能力的,并不只是一个DTO,严格的说由Model决定一个APP的功能(Model和Object(bean)的区别)
- 2.viewController和controller不是同一个层级的概念
| 层级 |
| —–|
| view |
| viewController |
| Controller |
| Model |
| Server |
| Manager |
| Helper |