检测用户向麦克吹气

概述

 

检测向麦克吹气的工作可分为两部分:(1) 获取麦克输入 (2) “听”吹气的声音。

 

我们将使用3.0中新的AVAudioRecorder类来捕获麦克输入。使用AVAudioRecorder可以让我们使用Objective-C,而不需像其他方法一样使用C。

 

向麦克吹气的噪声/声音是由低频声音组成的。我们将使用low pass filter(低频滤波) 来降低来自麦克的高频声音;当滤波信号的电平等级突然增大时,我们就知道有人向麦克吹气了。

 

创建项目

 

启动Xcode创建一个View-Based iPhone程序,叫MicBlow:

  1. 使用Xcode菜单File > New Project… 创建一个新项目
  2. 从 iPhone OS > Application 选择View-based Applications然后按Choose…
  3. 将项目命名为MicBlow,Save

 

添加AVFoundation Framework

 

为使用AVAudioRecorder类,我们需要向项目添加AVFoundation framework:

  1. 在项目Groups & Files面板上展开Targets
  2. 按Control-点击或右击MicBlow
  3. 选择Add > Existing Frameworks…
  4. 按下Linked Libraries左下角的+按钮
  5. 选择AVFoundation.framework并按下Add
  6. AVFoundation.framework出现在Linked Libraries下。关闭窗口

 

然后,我们在view controller接口中引入AVFoundation头文件并设置AVAudioRecorder实例变量:

  1. 展开项目Groups & Files面板下的MicBlow
  2. 展开Classes文件夹
  3. 选择MicBlowViewController.h进行编辑
  4. 更新文件。修改见如下2,3,7行:
1
2
3
4
5
6
7
8
9
#import <UIKit/UIKit.h>  
#import <AVFoundation/AVFoundation.h>  
#import <CoreAudio/CoreAudioTypes.h>

 

@interface MicBlowViewController : UIViewController 
{    
    AVAudioRecorder *recorder;  
}    
@end

 

引入CoreAudioTypes头文件实际上是下一步需要的工作。我们还需要在设置AVAudioRecorder定义更多的常量。

 

获取麦克输入

 

我们在ViewDidLoad进行设置并开始“听“取麦克:

  1. 解除样本ViewDidLoad方法注释
  2. 更新如下。见4-18行:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
-  ( void )viewDidLoad 
{    
     [super viewDidLoad ];
     NSURL  *url  =  [ NSURL fileURLWithPath : @
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值