zoukankan      html  css  js  c++  java
  • xcode中用AVAudioRecorder录音到指定的caf文件

    -(void) StartRecord:(NSURL *) recordedFile

    {

    session = [AVAudioSession sharedInstance];

    session.delegate = self;

    NSError *sessionError;

    [session setCategory:AVAudioSessionCategoryPlayAndRecord error:&sessionError];

    if(session == nil)

    NSLog(@"Error creating session: %@", [sessionError description]);

    else

    [session setActive:YES error:nil];

    /*

     NSDictionary *settings = [NSDictionary dictionaryWithObjectsAndKeys:

     [NSNumber numberWithFloat:44100.0], AVSampleRateKey,

     [NSNumber numberWithInt:kAudioFormatMPEG4AAC], AVFormatIDKey,

     [NSNumber numberWithInt:2], AVNumberOfChannelsKey,

     nil];

     */

    //录音设置

    NSMutableDictionary *settings = [[NSMutableDictionary alloc] init];

    //录音格式 无法使用

    [settings setValue :[NSNumber numberWithInt:kAudioFormatLinearPCM] forKey: AVFormatIDKey];

    //采样率

    [settings setValue :[NSNumber numberWithFloat:11025.0] forKey: AVSampleRateKey];//44100.0

    //通道数

    [settings setValue :[NSNumber numberWithInt:2] forKey: AVNumberOfChannelsKey];

    //线性采样位数

    //[recordSettings setValue :[NSNumber numberWithInt:16] forKey: AVLinearPCMBitDepthKey];

    //音频质量,采样质量

    [settings setValue:[NSNumber numberWithInt:AVAudioQualityMin] forKey:AVEncoderAudioQualityKey];

    recorder = [[AVAudioRecorder alloc] initWithURL:recordedFile settings:settings error:nil];

    [recorder prepareToRecord];

    [recorder record];

    }

    -(void) StopRecord

    {

        [recorder stop];

        

        if(recorder)

        {

            recorder = nil;

        }

    }

  • 相关阅读:
    我是一个垃圾程序员
    前谷歌高管给初入职场新人的14条忠告
    儿童节过完了
    两块网卡实现多台机器共享上网
    Python下载prettyloaded的swf
    关于mysql的1067与1045错误
    不使用定时器实现iframe的自适应高度
    JavaScript的大数阶乘
    两道函数式编程题
    字符串比较
  • 原文地址:https://www.cnblogs.com/HuiLove/p/3909862.html
Copyright © 2011-2022 走看看