ios 录制音频

//导入上面2个框架

#import <AVFoundation/AVFoundation.h>

#import <CoreFoundation/CoreFoundation.h>

//声明下面4个属性

@property (nonatomic ,assign)BOOL recording;   //判断是否可以录制

@property (nonatomic ,strong)NSString *fileName; //音频文件存储时的文件名

@property (nonatomic ,strong)AVAudioRecorder *recorder;  //声明一个录制器

@property (nonatomic ,strong)AVAudioPlayer *player;   //声明一个音频播放器

- (void)startRecording{

if (self.recording) {

        return;

    }

    self.recording =YES;

//    设置录音格式  AVFormatIDKey==kAudioFormatLinearPCM

//    设置录音采样率(Hz) 如:AVSampleRateKey==8000/44100/96000(影响音频的质量)

//    录音通道数  1 或 2   AVNumberOfChannelsKey

//    线性采样位数  8、16、24、32   AVLinearPCMBitDepthKey

//     录音的质量   AVEncoderAudioQualityKey == AVAudioQualityHigh

//    AVLinearPCMIsBigEndianKey 大端还是小端,是内存的组织方式

//    AVLinearPCMIsFloatKey  采样信号是整数还是浮点数

    NSDictionary *audioSettingDict =[NSDictionary dictionaryWithObjectsAndKeys:

                            [NSNumber numberWithFloat:8000],AVSampleRateKey,

                            [NSNumber numberWithInt:kAudioFormatLinearPCM],

                                AVFormatIDKey,

                            [NSNumber numberWithInt:1],AVNumberOfChannelsKey,

                            [NSNumber numberWithInt:16],AVLinearPCMBitDepthKey,

                            [NSNumber numberWithBool:NO],AVLinearPCMIsBigEndianKey,

                            [NSNumber numberWithBool:NO],AVLinearPCMIsFloatKey,

                            [NSNumber numberWithInt:AVAudioQualityHigh],AVEncoderAudioQualityKey,

                            nil];

    NSError *error =nil;

    AVAudioSession * audioSession = [AVAudioSession sharedInstance];

    [audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:&error];//设置音频类别,这里表示当应用启动,停掉后台其他音频

    [audioSession setActive:YES error:&error];//设置当前应用音频活跃性

    NSDate *now =[NSDate date];

    //实例化一个NSDateFormatter对象

    NSDateFormatter *dateFormater = [[NSDateFormatter alloc] init];

    //设定时间格式,这里可以设置成自己需要的格式

    [dateFormater setDateFormat:@"yyyy-MM-dd HH-mm-ss"];

    NSString *fileName = [NSString stringWithFormat:@"rec_%@.wav",[dateFormater stringFromDate:now]];

    self.fileName =fileName;

    NSString *filePath =[NSString documentPathWith:fileName];

    NSURL *fileUrl =[NSURL URLWithString:filePath];

//   初始化录制的类

    self.recorder =[[AVAudioRecorder alloc]initWithURL:fileUrl settings:audioSettingDict error:&error];

    [self.recorder prepareToRecord];

    [self.recorder peakPowerForChannel:0];

    [self.recorder setMeteringEnabled:YES];

    [self.recorder record];

}

  

ios 录制音频,布布扣,bubuko.com

时间: 2024-11-05 20:43:18

ios 录制音频的相关文章

iOS音频与视频的开发(二)- 使用AVAudioRecorder进行录制音频

1.使用AVAudioRecorder录制视频 AVAudioRecorder与AVAudioPlayer类似,它们都属于AVFoundation的类.AVAudioRecorder的功能类似于一个录音器,使用AVAudioRecorder录制音频十分简单,当程序控制AVAudioRecorder对象创建完成之后,可以调用AVAudioRecorder的如下方法进行录制. 1.prepareToRecord:准备开始录制.调用record方法时,如果音频还没有准备好,程序会隐式先执行该方法. 2

android MediaRecorder录制音频

使用MediaRecorder录制音频步骤: 创建MediaRecorder对象 调用MediaRecorder的setAudioSource()方法设置声音来源,一般传入MediaRecorder.AudioSource.MIC参数指定录制来自麦克风的声音 调用MediaRecorder对象的setOutputFormat()设置所录制的音频 文件的格式 调用MediaRecorder对象的setAudioEncoder() ,setAudioEncodingBitRate(int bitRa

iOS开发—音频的播放的简单介绍和封装工具类

iOS开发—音频的播放的简单介绍和封装工具类 一.音效的播放简单介绍 简单来说,音频可以分为2种 (1)音效 又称“短音频”,通常在程序中的播放时长为1~2秒 在应用程序中起到点缀效果,提升整体用户体验 (2)音乐 比如游戏中的“背景音乐”,一般播放时间较长 框架:播放音频需要用到AVFoundation.framework框架 二.音效的播放 1.获得音效文件的路径 NSURL *url = [[NSBundle mainBundle] URLForResource:@"m_03.wav&qu

Android项目开发五-《星星生活志》1.使用MediaRecorder录制音频

Android设备实现录制音频的简单demo 转载请注明; http://blog.csdn.net/u013670933/article/details/26089487 代码例如以下: public class MainActivity extends Activity { File soundFile;//输出文件 MediaRecorder mRecorder; @Override protected void onCreate(Bundle savedInstanceState) {

iOS 播放音频的几种方法

iOS 播放音频的几种方法 iPhone OS 主要提供以下了几种播放音频的方法: System Sound Services AVAudioPlayer 类 Audio Queue Services OpenAL 1. System Sound Services System Sound Services 是最底层也是最简单的声音播放服务,调用 AudioServicesPlaySystemSound 这个方法就可以播放一些简单的音频文件,使用此方法只适合播放一些很小的提示或者警告音,因为它有

iOS 9音频应用播放音频之控制播放速度

iOS 9音频应用播放音频之控制播放速度 iOS 9音频控制播放速度 iOS9音频文件在播放时是以一定的速度进行的.这个速度是可以进行更改的,从而实现iOS9音频文件的快速播放和慢速播放功能.要实现iOS9播放速度的更改需要使用AVAudioPlayer类中的rate属性实现.其语法形式如下: var rate: Float 其中,该属性设置的值为浮点类型,范围在0.5到2.0之间.如果该属性的值设置为1.0表示正常播放,它也是默认值.2.0表示以最快的速度进行播放,0.5表示以最慢的速度进行播

iOS 9音频应用播放音频之ios9音频基本功能

iOS 9音频应用播放音频之ios9音频基本功能 在iOS 9音频应用开发中最为简单和常用的就是AVFoundation框架中的AVAudioPlayer类.虽然AVAudioPlayer类不能播放网络上的音频文件,但是它可以播放本地音频文件,以及缓冲区的文件.本章将讲解最为基础的音频播放--本地音频文件的播放. iOS 9音频应用开发基本功能 实现音频的播放需要使用到AVAudioPlayer类.AVAudioPlayer是AVFoundation.framework框架里面最基本的一个音频播

IOS 播放音频

1,播放短音频 #import <AudioToolbox/AudioToolbox.h>#import "GLYViewController.h"static void completionCallback(SystemSoundID mySSID){ AudioServicesPlaySystemSound(mySSID);}@interface GLYViewController () @end @implementation GLYViewControllerSys

iOS 9音频应用播放音频之播放控制暂停停止前进后退的设置

iOS 9音频应用播放音频之播放控制暂停停止前进后退的设置 ios9音频应用播放控制 在“iOS 9音频应用播放音频之ios9音频基本功能”一文可以看到AVAudioPlayer类有很多的属性以及方法.本节将AVAudioPlayer类中常使用到的属性和方法进行详细的讲解. ios9音频应用暂停/停止 在音乐应用程序中都会有一个使音乐停止播放的按钮.当用户轻拍该按钮,正在播放的音乐就会停止.在iOS要想要正在播放的音频停止下来,可以使用AVAudioPlayer类中的pause()方法和stop