iOS 录音pcm获取当前音量
//录音设置
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获取当前音量相关推荐
- iOS 录音,获取录音时长及格式转换
转载请注明出处!!! 在APP中,我们也会遇到调用录音的功能,那么如何录音呢?并且在iOS中录音格式是wav或者caf格式的,和安卓不通用,为了达到通用的效果,我们还需要把他转换成通用格式.近期我遇到 ...
- ios 调整麦克风音量_iOS 获取麦克风音量
项目需求要获取麦克风音量,然后界面做出反馈. 注意:录音之前需要先调用以下方法,因为播放和录制的模式是不同的 [[AVAudioSession sharedInstance] setCategory: ...
- IOS Object-c获取手机音量,设置手机音量
一.导入AVFoundation和MediaPlayer 二.导入头文件 //导入头文件 #import <AVFoundation/AVAudioSession.h> #import & ...
- iOS录音和音频播放
文章目录 简介 `AVAudioRecorder`录音 `AVAudioPlayer`播放音频文件. 简介 最近公司研发了一个语音识别的框架,但这个框架是后端识别,所以需要手机端录音,录音后将音频文件 ...
- iOS录音播放简例-AVFoundation
iOS录音播放简例-AVFoundation 本例简单介绍一个demo,录制一段声音,再播放它,用的是AVFoundation框架. 一.添加AVFoundation框架,在.m文件中引入 #impo ...
- Swift实现iOS录音与播放音频功能
Swift实现iOS录音与播放音频功能 作用 AVPLayer:可以用来播放在线及本地音视频 AVAudioSession:音频会话,主要用来管理音频设置与硬件交互 使用时需要导入 #import & ...
- ios使用KeyChain获取唯一不变的udid
本文是iOS7系列文章第一篇文章,主要介绍使用KeyChain保存和获取APP数据,解决iOS7上获取不变UDID的问题.并给出一个获取UDID的工具类,使用方便,只需要替换两个地方即可. 一.iOS ...
- iOS点击获取短信验证码按钮
概述 iOS点击获取短信验证码按钮, 由于 Demo整体测试运行效果 , 整个修改密码界面都已展现, 并附送正则表达式及修改密码逻辑. 详细 代码下载:http://www.demodashi.com ...
- Swift3 获取系统音量和监听系统音量
使用时: //定义滑动条用于显示音量@IBOutlet weak var volumSlider: UISlider! //处理声音,获取当前音量,并添加监听handleVolum() 方法内容: f ...
最新文章
- 给windows设置隐藏文件夹的方法
- 周志华机器学习课后习题解析【第二章】
- golang获取变量地址值和指针变量示例
- web 小程序 ch3 小程序框架
- 关于echars中雷达图的一些配置
- 331. Verify Preorder Serialization of a Binary Tree
- apache 伪静态 (转)
- 5. 深入研究 UCenter API 之 MVC 网站下的用法(转载)
- JS 与Flex交互:html中的js 与flex中的actionScript通信
- C#LeetCode刷题之#700-二叉搜索树中的搜索(Search in a Binary Search Tree)
- 运用经验模态分解方法(EMD)对实测探地雷达数据进行处理
- 一、理解网络编程和套接字
- 在Exchange Server 2007中修改邮件接受域
- 线段树详解 二 ----(区间修改区间查询)
- 怎么分行显示java程序,月光软件站 - 编程文档 - Java - 如何在J2ME的低级界面中轻松实现各种文字的自然分行显示...
- 搜狗输入法linux词库导入,Fedora 20下 ibus 导入搜狗词库的正确做法
- Java类和对象(重点详解)
- 【iOS】【最新】2022苹果开发者账号注册流程
- 《深度工作》学习总结
- dll注入失败原因总结