美文网首页
IOS15音频录音

IOS15音频录音

作者: Johnson_9d92 | 来源:发表于2022-02-01 08:44 被阅读0次

IOS15音频录音

#import "ViewController.h"
#import <AVKit/AVKit.h>
@interface ViewController ()
@property(nonatomic,strong)AVAudioRecorder *recoder;
@property(nonatomic,strong)CADisplayLink *displayLink;
//静音的持续时间
@property(nonatomic,assign)CGFloat slientDuration;
@end
@implementation ViewController
- (IBAction)startRecoord:(id)sender {
    NSString *doc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
    NSString *path   = [doc stringByAppendingPathComponent:@"test3.caf"];
    NSURL *ulr1 = [NSURL fileURLWithPath:path];
    NSLog(@"%@",ulr1);
    // setting:录音的设置项
    NSDictionary *configDic = @{// 编码格式
        AVFormatIDKey:@(kAudioFormatLinearPCM),
        // 采样率
        AVSampleRateKey:@(11025.0),
        // 通道数
        AVNumberOfChannelsKey:@(2),
        // 录音质量
        AVEncoderAudioQualityKey:@(AVAudioQualityMin)
    };
    self.recoder = [[AVAudioRecorder alloc]initWithURL:ulr1 settings:configDic error:nil];
    //开启分贝测量功能
    self.recoder.meteringEnabled = YES;
    [self.recoder prepareToRecord];
    [self.recoder record];
    [self addTime];
    //    [self.recoder averagePowerForChannel:0];
}
- (IBAction)stopRecoard:(id)sender {
    [self.recoder stop];
    [self removeTime];
}
-(void)update1{
    // NSLog(@"%f",[self.recoder averagePowerForChannel:0]);
    //更新测量值
    [self.recoder updateMeters];
    float power =  [self.recoder averagePowerForChannel:0];
    if(power <= -20){ //几乎为静音
        self.slientDuration += self.displayLink.duration;
        
        if(self.slientDuration >= 2){
            //停止录音
            [self.recoder stop];
        }
    }else{
        self.slientDuration = 0;
    }
}
-(void) addTime{
    self.displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(update1)];
    [self.displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];
}
-(void)removeTime{
    [self.displayLink invalidate];
    self.displayLink = nil;
}
@end

相关文章

  • IOS15音频录音

    IOS15音频录音

  • 音频_录音

    录音 参考:AVAudioRecorder Class Reference 使用 包含框架AVFoundation...

  • iOS音视频录制及播放

    音频录制 音频录制使用AVAudioRecorder。 初始化 音频质量设置 开始录音 结束录音 音频格式转换 代...

  • 十点音频自我介绍-斕馨

    音频要求: 1、手机自带录音软件,不需要背景音乐 2、入群后7天内提交音频 3、音频标题+录音人名字 4、录音完成...

  • 录音频2

    人情世故,总是那么的纷繁复杂:人与人相交,若是懂得,何必多言,若是不懂,又何必解释?懂得的人无须解释,不懂的人更是...

  • 2019年2月28日丰盛日记:

    今天晚上没想好干什么,收拾沙盘?整理语音?录音频?在犹豫间同学给我要冥想,好吧录音频,发现现在录音频一气呵成,首先...

  • iOS 录音、音频的拼接剪切以及边录边压缩转码

    iOS 录音、音频的拼接剪切以及边录边压缩转码 iOS 录音、音频的拼接剪切以及边录边压缩转码

  • MediaRecorder与MediaPlayer

    一、MediaRecorder录制音频 1.1 开始录制音频 1.2 停止音频录制 点击停止录音之后, 音频文件才...

  • iOS-音频文件时长判断

    音频文件如果是录音是录音的时长即为音频长度,有的时候需要获取一个完成音频文件的长度,判断方法如下: ` (flo...

  • Qt 录音播放控件

    Qt 录音播放控件 [TOC] 功能 录音(自动保存WAV文件) 播放音频文件 音频频谱显示 背景色,频谱色可调 ...

网友评论

      本文标题:IOS15音频录音

      本文链接:https://www.haomeiwen.com/subject/gfiehrtx.html