IOS开发之录音
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了IOS开发之录音,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2211字,纯文字阅读大概需要4分钟。
内容图文
![IOS开发之录音](/upload/InfoBanner/zyjiaocheng/1332/02d581853aa64a68980ffa47e409bd09.jpg)
为什么要把录音单独拿出来写呢,只是因为这个比较简单,但是就是因为他比较简单,导致我好长一段时间把它给忽视了,但是等到我回想起来的时候,忽然忘记了我到底有没有学过这个东西 ,在此,实在是想想都有点脸红。。。。-。-!;
录音:
相关类介绍:
(1)AVaudioPlayer
(2)setting
<1>AVNumberOfChannelsKey 通道数
<2>AVSampleRateKey 采样率 44100
<3>AVLinearPCMBitDepthKey 比特lv 16 32
<4>AVEncoderAudioQualityKey 质量
<5>AVEncoderBitRateKey 比特采样lv 128000
(3)使用
1、初始化
2、开始录音
3.停止录音
废话不多说,我们直接上代码;
//录音的方法
-(void)startAudioRecoder:(UIButton *)sender{
/**
URL:是本地的一个URL,recodeer需要一个存储的路径
*/
sender.selected = !sender.selected;
if (sender.selected!=YES) {
[recorder stop];
return;
}
NSString * name = [NSString stringWithFormat:@"%d.aiff",(int)[NSDate date].timeIntervalSince1970];
NSString *path = [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]stringByAppendingPathComponent:name] ;
NSError *error;
recorder = [[AVAudioRecorder alloc]initWithURL:[NSURL URLWithString:path] settings:@{AVNumberOfChannelsKey:@2,AVSampleRateKey:@44100,AVLinearPCMBitDepthKey:@32,AVEncoderAudioQualityKey:@(AVAudioQualityMax),AVEncoderBitRateKey:@128000} error:&error];
/**
* AVNumberOfChannelsKey 声道数 通常为双声道2
* AVSampleRateKey 采样率 赫兹-》44100
* AVLinearPCMBitDepthKey比特率 8 16 24 32
* AVEncoderAudioQualityKey声音的质量 需要的是一个枚举
AVAudioQualityMin = 0,
AVAudioQualityLow = 0x20,
AVAudioQualityMedium = 0x40,
AVAudioQualityHigh = 0x60,
AVAudioQualityMax = 0x7F
* AVEncoderBitRateKey 音频编码的比特率 BPS传输速率 128000bps
*/
[recorder prepareToRecord];
[recorder record];
NSLog(@"%@",path);
}
//录音结束的时候调用
- (void)audioRecorderDidFinishRecording:(AVAudioRecorder *)recorder successfully:(BOOL)flag{
// 存储文件的位置
NSString *path = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)lastObject];
// 这里我门引用文件操作的类
NSFileManager *manager = [NSFileManager defaultManager];
// 获得所有路径下的文件
NSArray *pathList = [manager subpathsAtPath:path];
NSMutableArray *audiopathList = [NSMutableArray array];
for (NSString *audioPath in pathList) {
// 通过对比延展名来区分是不是所需要的文件
if ([audioPath.pathExtension isEqualToString:@"aiff" ]) {
// 把筛选出来的文件放到数组中
[audiopathList addObject:audioPath];
}
}
NSLog(@"%@",audiopathList);
}
//一定要记住 、我是学过录音的,不能学过之后和没学过一样,实在是罪过罪古;;;;;;;;;
原文:http://www.cnblogs.com/Biaoac/p/5308469.html
内容总结
以上是互联网集市为您收集整理的IOS开发之录音全部内容,希望文章能够帮你解决IOS开发之录音所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。