1.錄音的介紹:
關(guān)于錄音营搅,這里提供更為詳細(xì)的講解網(wǎng)址:http://www.cnblogs.com/kenshincui/p/4186022.html#audioRecord ,并且該博客有更完整的詳述和代碼實(shí)現(xiàn)哦似枕。
還有一個(gè)人的博客必須要看就是雷霄驊,博客的地址為:http://blog.csdn.net/leixiaohua1020/article/details/18893769
內(nèi)容大綱:
1.錄音的應(yīng)用場(chǎng)景
2.錄音功能實(shí)現(xiàn)
3.概念補(bǔ)充
4.開發(fā)經(jīng)驗(yàn)
2.錄音應(yīng)用場(chǎng)景:
1.語音聊天: 在即時(shí)通信App中则酝,例如即時(shí)通信的app中浇坐,例如微信诅诱,QQ等壹置,都有發(fā)送語音的功能
2語音備忘錄:錄一段音頻,來記錄某件事情
3.錄音功能實(shí)現(xiàn):
1.導(dǎo)入AVFoundation框架
一些多媒體的處理踩娘,基本使用這個(gè)框架.
2.使用AVAudioRecorder進(jìn)行錄音
<1>創(chuàng)建錄音文件存放的路徑
<2>設(shè)置錄音附件設(shè)文件(#import <AVFoundation/AVAudioSettings.h>)
3.代碼實(shí)功能:
![效果圖.png](http://upload-images.jianshu.io/upload_images/2182103-605d0ce0bc527d15.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
代碼實(shí)現(xiàn)如下:
1 #import "ViewController.h"
2 #import <AVFoundation/AVFoundation.h>
3
4 @interface ViewController ()
5
6 /** 錄音對(duì)象*/
7 @property(nonatomic ,strong) AVAudioRecorder *recorder;
8
9 @end
10
11 @implementation ViewController
12
13 -(void)viewDidLoad{
14 [self createRecord];
15 }
16
17 - (void)createRecord{
18 // 0.1 創(chuàng)建錄音文件存放路徑
19 NSString *path = [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"test.caf"];
20 NSLog(@"%@", path);
21 NSURL *url = [NSURL URLWithString:path];
22
23 // 0.2 創(chuàng)建錄音設(shè)置
24 NSMutableDictionary *recordSettings = [[NSMutableDictionary alloc] init];
25 // 設(shè)置編碼格式
26 [recordSettings setValue :[NSNumber numberWithInt:kAudioFormatLinearPCM] forKey: AVFormatIDKey];
27 // 采樣率
28 [recordSettings setValue :[NSNumber numberWithFloat:11025.0] forKey: AVSampleRateKey];
29 // 通道數(shù)
30 [recordSettings setValue :[NSNumber numberWithInt:2] forKey: AVNumberOfChannelsKey];
31 //音頻質(zhì)量,采樣質(zhì)量
32 [recordSettings setValue:[NSNumber numberWithInt:AVAudioQualityMin] forKey:AVEncoderAudioQualityKey];
33
34
35 // 1. 創(chuàng)建錄音對(duì)象
36 self.recorder = [[AVAudioRecorder alloc] initWithURL:url settings:recordSettings error:nil];
37
38
39 // 2. 準(zhǔn)備錄音(系統(tǒng)會(huì)分配一些錄音資源)
40 [self.recorder prepareToRecord];
41 }
42
43 - (IBAction)beginRecord
44 {
45 NSLog(@"開始錄音");
46 [self.recorder record]; // 直接錄音, 需要手動(dòng)停止
47 // [self.recorder recordForDuration:3]; // 從當(dāng)前執(zhí)行這行代碼開始錄音, 錄音5秒
48 // [recorder recordAtTime:recorder.deviceCurrentTime + 2]; // 2s, 需要手動(dòng)停止
49 // [self.recorder recordAtTime:self.recorder.deviceCurrentTime + 2 forDuration:3]; // 2s 3s
50 }
51
52 - (IBAction)pauseRecord:(id)sender {
53 NSLog(@"暫停錄音");
54 [self.recorder pause];
55 }
56
57 - (IBAction)stopRecord {
58 NSLog(@"停止錄音");
59 [self.recorder stop];
60 }
61
62 @end
#4.概念的補(bǔ)充:
1.編碼:
概念:編碼是信息從一種形式轉(zhuǎn)換成另外一種形式的過程
編碼格式:
<1>.PCM :脈沖編碼調(diào)制刮刑,是一種非壓縮音頻數(shù)字化技術(shù),是一個(gè)未壓縮的原音重現(xiàn)养渴,數(shù)字模式下雷绢,音頻的初始信號(hào)是PCM.
<2>.MP3
<3>.AAC:AAC其實(shí)是“高級(jí)音頻編碼(advanced audio coding)” 的縮寫,它是被設(shè)計(jì)用來取代mp3格式的
<4>.HE-AAC:HE-AAC是AAC的一個(gè)超集,這個(gè)"HE"代表的就是"High efficiency".HE-AAC是專門為低比特率所優(yōu)化的一個(gè)音頻編碼格式
<5>.AMR:AMR"Adaptive Multi-Rate",它也是一個(gè)專門為"說話(speech)"所優(yōu)化的編碼格式理卑,也是適用低比特率的環(huán)境下采用
<6>.ALAC: 全稱是“Apple Lossless”,這是一種沒有任何質(zhì)量損壞的音頻編碼翘紊,也是我們說的無損壓縮
< 7>.IMA4:這是一個(gè)在16-bit音頻文件下按照4:1壓縮比來進(jìn)行壓縮的格式
2.文件格式:(不同的文件格式,可保存不同的編碼格式編碼的文件)
<1>.wav
特點(diǎn):音質(zhì)量最好的格式藐唠,對(duì)應(yīng)的PCM編碼
適用:多媒體開發(fā)霞溪,保存音樂和音效素材
<2>MP3
特點(diǎn):音質(zhì)好孵滞,壓縮比比較高,被大量的軟件和硬件支持
適用:用于比較搞要求的音樂欣賞
<3>caf:
特點(diǎn):適用于幾乎所有的ios的所有的編碼格式
#5.開發(fā)經(jīng)驗(yàn):
caf文件格式鸯匹,因?yàn)槟承┚幋a設(shè)置,文件可能會(huì)很大泄伪,而且caf殴蓬,格式并不是很通用,所以在開發(fā)過程中一般會(huì)進(jìn)行壓縮成MP3
相關(guān)學(xué)習(xí)資料:http://blog.csdn.net/ysy441088327/article/details/7392842