博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS开发之录音
阅读量:4878 次
发布时间:2019-06-11

本文共 2172 字,大约阅读时间需要 7 分钟。

         为什么要把录音单独拿出来写呢,只是因为这个比较简单,但是就是因为他比较简单,导致我好长一段时间把它给忽视了,但是等到我回想起来的时候,忽然忘记了我到底有没有学过这个东西 ,在此,实在是想想都有点脸红。。。。-。-!;

录音:

   相关类介绍:

    (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);

    

    

    

    

    

}

 //一定要记住 、我是学过录音的,不能学过之后和没学过一样,实在是罪过罪古;;;;;;;;;

 

转载于:https://www.cnblogs.com/Biaoac/p/5308469.html

你可能感兴趣的文章
百度地图的底层地图数据从哪儿来?
查看>>
CSS盒模型的深度思考及BFC
查看>>
表单的一些操作(checkbox radio select)
查看>>
短信验证码接口开发代码
查看>>
全面解决Html页面缓存的问题
查看>>
公共文件模块include
查看>>
使用putty远程登录Ubuntu时,报Network error:Connection refused错误解决方案
查看>>
C#测试程序运行时间
查看>>
webpack 从0 手动配置
查看>>
shutil
查看>>
VMware Workstation 14 Pro永久激活密钥
查看>>
aop 日志统一处理
查看>>
右侧悬浮菜单
查看>>
Mac/Linux 定时运行命令行
查看>>
p2 弹簧
查看>>
Vsftpd: 基于PAM认证的虚拟用户和匿名用户
查看>>
Android开发之自定义对话框
查看>>
深入理解android view 生命周期
查看>>
Android SurfaceView实战 带你玩转flabby bird (下)
查看>>
adb shell dumpsys 命令 查看内存
查看>>