//录音设置

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

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

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

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

[recordSetting setValue:[NSNumber numberWithFloat:8000] forKey:AVSampleRateKey];

//录音通道数  1 或 2

[recordSetting setValue:[NSNumber numberWithInt:1] forKey:AVNumberOfChannelsKey];

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

[recordSetting setValue:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];

//录音的质量

[recordSetting setValue:[NSNumber numberWithInt:AVAudioQualityHigh] forKey:AVEncoderAudioQualityKey];

NSString *strUrl = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];

NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/Video.pcm", strUrl]];

path = [url path];

NSError *error;

//初始化

VideoRecorder = [[AVAudioRecorder alloc]initWithURL:url settings:recordSetting error:&error];

//开启音量检测

VideoRecorder.meteringEnabled = YES;

VideoRecorder.delegate = self;

//创建录音文件,准备录音

[VideoRecorder prepareToRecord];

}

#pragma mark 获取音量值

- (void)detectionVoice

{

[VideoRecorder updateMeters];//刷新音量数据

//获取音量的平均值  [recorder averagePowerForChannel:0];

//音量的最大值  [recorder peakPowerForChannel:0];

lowPassResults = pow(10, (0.05 * [VideoRecorder peakPowerForChannel:0]));

//    最大50  0

//    图片 小-》大

if (0<lowPassResults<=0.27) {

[showView.VioceImage setImage:[UIImage imageNamed:@"1.png"]];

}else if (0.27<lowPassResults<=0.34) {

[showView.VioceImage setImage:[UIImage imageNamed:@"2.png"]];

}else if (0.34<lowPassResults<=0.41) {

[showView.VioceImage setImage:[UIImage imageNamed:@"3.png"]];

}else if (0.41<lowPassResults<=0.48) {

[showView.VioceImage setImage:[UIImage imageNamed:@"4.png"]];

}else if (0.48<lowPassResults<=0.55) {

[showView.VioceImage setImage:[UIImage imageNamed:@"5.png"]];

}else if (0.55<lowPassResults) {

[showView.VioceImage setImage:[UIImage imageNamed:@"6.png"]];

}

}

iOS 录音pcm获取当前音量相关推荐

  1. iOS 录音,获取录音时长及格式转换

    转载请注明出处!!! 在APP中,我们也会遇到调用录音的功能,那么如何录音呢?并且在iOS中录音格式是wav或者caf格式的,和安卓不通用,为了达到通用的效果,我们还需要把他转换成通用格式.近期我遇到 ...

  2. ios 调整麦克风音量_iOS 获取麦克风音量

    项目需求要获取麦克风音量,然后界面做出反馈. 注意:录音之前需要先调用以下方法,因为播放和录制的模式是不同的 [[AVAudioSession sharedInstance] setCategory: ...

  3. IOS Object-c获取手机音量,设置手机音量

    一.导入AVFoundation和MediaPlayer 二.导入头文件 //导入头文件 #import <AVFoundation/AVAudioSession.h> #import & ...

  4. iOS录音和音频播放

    文章目录 简介 `AVAudioRecorder`录音 `AVAudioPlayer`播放音频文件. 简介 最近公司研发了一个语音识别的框架,但这个框架是后端识别,所以需要手机端录音,录音后将音频文件 ...

  5. iOS录音播放简例-AVFoundation

    iOS录音播放简例-AVFoundation 本例简单介绍一个demo,录制一段声音,再播放它,用的是AVFoundation框架. 一.添加AVFoundation框架,在.m文件中引入 #impo ...

  6. Swift实现iOS录音与播放音频功能

    Swift实现iOS录音与播放音频功能 作用 AVPLayer:可以用来播放在线及本地音视频 AVAudioSession:音频会话,主要用来管理音频设置与硬件交互 使用时需要导入 #import & ...

  7. ios使用KeyChain获取唯一不变的udid

    本文是iOS7系列文章第一篇文章,主要介绍使用KeyChain保存和获取APP数据,解决iOS7上获取不变UDID的问题.并给出一个获取UDID的工具类,使用方便,只需要替换两个地方即可. 一.iOS ...

  8. iOS点击获取短信验证码按钮

    概述 iOS点击获取短信验证码按钮, 由于 Demo整体测试运行效果 , 整个修改密码界面都已展现, 并附送正则表达式及修改密码逻辑. 详细 代码下载:http://www.demodashi.com ...

  9. Swift3 获取系统音量和监听系统音量

    使用时: //定义滑动条用于显示音量@IBOutlet weak var volumSlider: UISlider! //处理声音,获取当前音量,并添加监听handleVolum() 方法内容: f ...

最新文章

  1. 给windows设置隐藏文件夹的方法
  2. 周志华机器学习课后习题解析【第二章】
  3. golang获取变量地址值和指针变量示例
  4. web 小程序 ch3 小程序框架
  5. 关于echars中雷达图的一些配置
  6. 331. Verify Preorder Serialization of a Binary Tree
  7. apache 伪静态 (转)
  8. 5. 深入研究 UCenter API 之 MVC 网站下的用法(转载)
  9. JS 与Flex交互:html中的js 与flex中的actionScript通信
  10. C#LeetCode刷题之#700-二叉搜索树中的搜索(Search in a Binary Search Tree)
  11. 运用经验模态分解方法(EMD)对实测探地雷达数据进行处理
  12. 一、理解网络编程和套接字
  13. 在Exchange Server 2007中修改邮件接受域
  14. 线段树详解 二 ----(区间修改区间查询)
  15. 怎么分行显示java程序,月光软件站 - 编程文档 - Java - 如何在J2ME的低级界面中轻松实现各种文字的自然分行显示...
  16. 搜狗输入法linux词库导入,Fedora 20下 ibus 导入搜狗词库的正确做法
  17. Java类和对象(重点详解)
  18. 【iOS】【最新】2022苹果开发者账号注册流程
  19. 《深度工作》学习总结
  20. dll注入失败原因总结

热门文章

  1. ES-06-ElasticSearch映射关系
  2. 菜鸟学院~VR与AR凉而复热了
  3. 尝试开源3D三维免费软件OpenCASCADE OpenCASCADE-7.6.0
  4. 年会抽奖界面程序 pyqt5
  5. 批量导入Excel到sqlserver
  6. 关于win10不能同时连接两个虚拟专用网络
  7. ExceptionAdvice
  8. 数字电子技术基础(三):格雷码
  9. 一种针对滑动变阻器AD值采集线性化处理算法
  10. ubuntu服务器的软件源