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;

}

}

xcode中用AVAudioRecorder录音到指定的caf文件

时间: 2024-10-02 18:06:05

xcode中用AVAudioRecorder录音到指定的caf文件的相关文章

AVAudioRecorder录音处理

AVAudioRecorder类是专门处理录音操作,可以在你的应用程序提供音频记录功能.录音只能保存到本地文件.它包含在AVFoundation FrameWork库中. 下面是常见的属性和方法: 属性 说明 @property(readonly, getter=isRecording) BOOL recording 是否正在录制音频(只读) @property(readonly) NSURL *url 录音文件路径(只读) @property(nonatomic, copy) NSArray

xcode中用oc代码基本控制view控件

控件代码部分: 编译运行后的结果为: 复杂一点的: 结果为: xcode中用oc代码基本控制view控件,布布扣,bubuko.com

在xcode中用oc实现计算器

在建立工程后建立关于计算器的类. 在类的.h 中进行类的方法和成员的声明,在.m是实现: 值得注意的是,在其他文件中用到这个类需要 加上这个类的头文件. 然后在main.storybroad中添加你所需要的控件,并加上函数: 我做的是将数字按钮拖入到一个函数中,将所有运算符拖入到到另一个函数中,其他的按钮都有独立的函数. 然后在viewcontroll.h中申明一个全局的类的对象 在viewcontroll.m中的代码为: // //  ViewController.m //  jisuanqi

iOS AVAudioRecorder 录音频率、声道、位数配置 wav格式

iOS AVAudioRecorder 录音频率.声道.位数配置 #pragma mark 录音设置 - (void)setUP_VOICE_RECOARDER { NSError *error = nil; audioSection = [AVAudioSession sharedInstance]; [audioSection setCategory:AVAudioSessionCategoryPlayAndRecord error:&error]; if (error) { NSLog(@

xcode 中用AvAudioPlayer播放mp3文件

[playButton setEnabled:YES]; NSError *playerError; AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[[[NSURL alloc] initFileURLWithPath:mp3FilePath] autorelease] error:&playerError]; self.player = audioPlayer; player.volume =

xcode 中运用lame进行caf文件到mp3文件的转换

需首先引用lamp.h,libmp3lame.a - (void)audio_PCMtoMP3:(NSString *) cafFilePath ToMp3File:(NSString *) mp3FilePath { NSFileManager* fileManager=[NSFileManager defaultManager]; if([fileManager removeItemAtPath:mp3FilePath error:nil]) { NSLog(@"删除"); } @

指定g++ 头文件路径的方法

问题: 尝试引用Python.h 这个头文件 g++ -o main main.cpp main.cpp:4:19: 错误:Python.h:没有那个文件或目录 由些可以看出是g++ 找不到指定的头文件 解决方式: 1.在g++ 中用一个option 来指定 g++ -o main main.cpp -I /usr/local/include/python/ 解决方式: 2.通过环境变量来设置,这样就可以不要在g++ 中来指定了 export CPLUS_INCLUDE_PATH=/usr/lo

Java如何实现按指定行读取文件

最近在开发实战中,遇到了一个这样的技术情景: 把log4j生成的日志文件定时刷进MySQL数据库,比如三个小时刷一次,那么每次刷数据的时候,如何控制文件读取是从上一次文件读取结束的地方开始继续读取的?并且本次要读取到文件结尾处.在网上各种搜索提问后,找到了一个叫RandomAccessFile Java类解决了问题. 先上代码: static int size=1;//主要是为了控制循环的次数,因为是定时刷,每次刷的文件行数可能不一样 static long chars=0;//chars指的是

Python(2.7.6) glob - 匹配指定模式的文件

Python 标准库的 glob 模块支持查询匹配指定模式的文件或目录.这里的模式使用的并不是正则表达式,而是通过通配符来匹配的 Unix 风格的路径名扩展. 支持的通配符: 通配符 说明 *  匹配任意个字符 ?  匹配一个字符 []  匹配括号间的任一字符,可以使用 - 表示范围  \  转义字符,如用 \? 匹配 ? 假设现在有一个名为 dir 的目录,该目录及其子目录的结构如下: ├── dir │   ├── db.conf │   ├── dir1 │   │   ├── hello