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;

        }

    }

  • 相关阅读:
    #Leetcode# 204. Count Primes
    #Leetcode# 202. Happy Number
    #Leetcode# 8. String to Integer (atoi)
    VMWare(虚拟机) 网络配置模式 :桥接模式、nat模式、主机模式
    领域的建立
    需求获取的前期工作(不断更新)
    2.4文件查找与文件列表
    2.3录制并回放终端会话
    2命令之乐,2.1简介
    1.7比较与测试
  • 原文地址:https://www.cnblogs.com/HuiLove/p/3909862.html
Copyright © 2011-2022 走看看