Android MediaRecorder录音
1. 简介
在android中录制音频有两种方式,MediaRecorder和AudioRecord。两者的区别如下:
MediaRecorder
简单方便,不需要理会中间录制过程,结束录制后可以直接得到音频文件进行播放;录制的音频文件是经过压缩的,需要设置编码器;录制的音频文件可以用系统自带的播放器播放。AudioRecord
在声音录制过程中,可以处理采集的声音数据,如降噪、合成等。过程为一段一段进行录制然后得到数据分别进行处理。录制的是PCM格式的音频文件,需要用AudioTrack来播放,AudioTrack更接近底层。
添加录音权限
<uses-permission android:name="android.permission.RECORD_AUDIO" />
2. MediaRecorder的使用
MediaRecorder的使用
// 开始录音
fun startRecord(filePath: String) {mMediaRecorder = MediaRecorder()try {// 音频来源,麦克风mMediaRecorder?.setAudioSource(MediaRecorder.AudioSource.MIC)// 采样率mMediaRecorder?.setAudioSamplingRate(44100)// 输出格式mMediaRecorder?.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4)// 音频编码mMediaRecorder?.setAudioEncoder(MediaRecorder.AudioEncoder.AAC)// 音质频率mMediaRecorder?.setAudioEncodingBitRate(96000)// 输出文件mMediaRecorder?.setOutputFile(filePath)mMediaRecorder?.prepare()mMediaRecorder?.start()} catch (e: Exception) {}
}// 结束录音
fun stopRecord() {mMediaRecorder?.stop()mMediaRecorder?.reset()mMediaRecorder?.release()mMediaRecorder = null
}
3. MediaRecorder的音量
使用MediaRecorder.getMaxAmplitude来获取一小段时间内音频源数据中的最大振幅,返回的是0到32767范围的16位整型。
//计算分贝
var amplitude = mMediaRecorder?.maxAmplitude ?: 0
var db = 0.0
if (amplitude > 1) {db = 20 * log10(ratio)
}
相关文章:
Android MediaRecorder录音
1. 简介 在android中录制音频有两种方式,MediaRecorder和AudioRecord。两者的区别如下: MediaRecorder 简单方便,不需要理会中间录制过程,结束录制后可以直接得到音频文件进行播放;录制的音频文件是经过压缩的&#…...
软件提示vcruntime140_1.dll丢失的解决方法,以及丢失的原因总结
在运行某些程序时,可能会出现“vcruntime140_1.dll 丢失”的错误提示。这是因为 vcruntime140_1.dll 是 Visual C Redistributable 的一部分,它通常被安装在 Windows 操作系统上。如果该文件丢失或无法找到,可能会导致程序无法正常运行。在我…...
Datax抽取mysql的bit类型数据
背景:使用datax抽取mysql的一张表,里面有两个bit类型的字段,抽取出来显示如下: 需要在抽取reader里面进行处理配置 最终生成的datax的json文件reader的配置会转换为具体的数值 最终查询效果:...
git 后悔药
前言 自上而下,撤销可以分为从远程库撤销,从本地库撤销,从暂存库撤销。 例子:代码已经提交了三个记录到远程库,分别对应了记录1,内容1,记录2,内容2,记录3,内…...
vue-cli搭建一个新项目及基础配置
vue-cli搭建一个新项目及基础配置 一、安装步骤二、main.js配置三、router下的index.js 一、安装步骤 1.安装node环境:下载地址:Node.js 2.安装脚手架:npm install -g vue/cli 3.创建vue项目:vue create 项目名 4.进入项目&…...
【C++】 C++11(右值引用,移动语义,bind,包装器,lambda,线程库)
文章目录 1. C11简介2. 统一的列表初始化2.1 {}初始化2.2 std::initializer_list 3. 声明3.1 auto3.2 decltype3.3 auto与decltype区别3.4 nullptr 4. 右值引用和移动语义4.1 左值引用和右值引用4.2 左值引用与右值引用比较4.3 右值引用使用场景和意义4.…...
附录1-爬虫的一些技巧
目录 1 寻找url与显示内容的关系 2 修改请求头 3 局部刷新 4 阅读返回信息 5 多尝试页面其他的使用方式 6 尝试不同类型参数 7 表单类型的post多用data发,接口类型的post多用json发 8 消除degger 9 你在浏览器上看到的html与你下载下来的html不一…...
【android12-linux-5.1】【ST芯片】【RK3588】【LSM6DSR】HAL移植
一、环境介绍 RK3588主板搭载Android12操作系统,内核是Linux5.10,使用ST的六轴传感器LSM6DSR芯片。 二、芯片介绍 LSM6DSR是一款加速度和角速度(陀螺仪)六轴传感器,还内置了一个温度传感器。该芯片可以选择I2C,SPI通讯,还有可编程终端,可以后置摄像头等设备,功能是很…...
DragGAN应运而生,未来在4G视频上都可能利用拖拽式编辑
原创 | 文 BFT机器人 2023年8月14日-15日,第七届GAIR全球人工智能与机器人大会在新加坡乌节大酒店成功举办。 在「AIGC 和生成式内容」分论坛上,南洋理工大学科学与工程学院助理教授潘新钢以《Interacitve Point-Dragging Manipulation of Visual Cont…...
【C++技能树】多态解析
Halo,这里是Ppeua。平时主要更新C,数据结构算法,Linux与ROS…感兴趣就关注我bua! 文章目录 0.多态的概念0.1 多态的定义 1. 重写2.Final与Override3.抽象类4.多态中的内存分布.4.1虚表存在哪里? 5.多态调用原理5.1 动态绑定与静…...
【爬虫笔记】Python爬虫简单运用爬取代理IP
一、前言 近些年来,网络上的爬虫越来越多,很多网站都针对爬虫进行了限制,封禁了一些不规则的请求。为了实现正常的网络爬虫任务,爬虫常用代理IP来隐藏自己的真实IP,避免被服务器封禁。本文将介绍如何使用Python爬虫来…...
IP协议-NAT机制(理解网络结构的关键要点)
前言 我们现在使用得最多的IP协议版本是IPv4,IPv4是4个字节,32位,也就是说我们的IP地址最多就只有2^32(42亿)个,在日常生活中,我们需要联网的设备都需要有IP地址才能进行通讯,很明显…...
Python UI自动化 —— 关键字+excel表格数据驱动
步骤: 1. 对selenium进行二次封装,创建关键字的库 2. 准备一个表格文件来写入所有测试用例步骤 3. 对表格内容进行读取,使用映射关系来对用例进行调用执行 4. 执行用例 1. 对selenium进行二次封装,创建关键字的库 from time imp…...
AI:06-基于OpenCV的二维码识别技术的研究
二维码作为一种广泛应用于信息传递和识别的技术,具有识别速度快、容错率高等优点。本文探讨如何利用OpenCV库实现二维码的快速、准确识别,通过多处代码实例展示技术深度。 二维码作为一种矩阵型的条码,广泛应用于各个领域,如商品追溯、移动支付、活动签到等。二维码的快速…...
Spring MVC Http Event Stream
什么是 Http Event Stream Event Stream 技术是一种实现服务器推送事件的方法,它通过在一个持续的 HTTP 连接上发送事件流来实现推送。具体来说,服务器发送一些事件到客户端,并将这些事件封装成一些指定格式的文本流。客户端通过监听这个流&…...
2023年亲测有效----树莓派启动时自动邮件上报ip
2023年亲测 树莓派启动时自动邮件上报ip 首先开启qq邮箱smtp服务shell文件内容启动自动执行python文件注意事项 首先开启qq邮箱smtp服务 然后点击开启就会有授权码 shell文件内容 在自己的shell里,运行echo $PATH,把内容覆盖下面的path。 功能 作用就…...
Direct3D颜色
在Direct3D中颜色用RGB三元组来表示,RGB数据可用俩种不同的结构来保存,第一种是D3DCOLOR,它实际上与DWORD类型完全相同,共有32位,D3DCOLOR类型种的各位被分成四个8位项,每项存储了一种颜色分量的亮度值。 由…...
LLM - 大模型速递 Baichuan2 快速入门
目录 一.引言 二.模型探索 1.模型下载 2.模型结构 ◆ Baichuan-1-13B 结构 ◆ Baichuan-2-13B 结构 3.模型测试 ◆ Baichuan-2-13B Chat 推理 ◆ Baichuan-2-13B 显存 4.模型量化 ◆ 在线量化 ◆ 离线量化 ◆ 量化效果 5.模型迁移 三.模型微调 …...
DB2和MYSQL的LOAD原理和比较测试
DB2 load的过程: (1)、装入阶段 装入阶段将源数据解析成物理数据页的格式,直接装入到数据页中。必要时还收集索引键和表统计信息。 (2)、构建索引阶段 根据在装入阶段收集的索引键创建表索引。 (…...
redisson常用api
redisson提供了很多对象类型的api,下面介绍下一些常用的对象api。 RBucket 可操作任何对象的api,前提是要确定好泛型,方法比较少。大小限制为512Mb。 RBucket<AnyObject> bucket redisson.getBucket("anyObject");bucket…...
使用Taotoken为Hermes Agent配置自定义模型提供方详细步骤
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用Taotoken为Hermes Agent配置自定义模型提供方详细步骤 对于使用Hermes Agent框架构建智能体应用的开发者而言,灵活…...
Path of Building PoE2深度技术解析:3大核心系统架构与实战优化指南
Path of Building PoE2深度技术解析:3大核心系统架构与实战优化指南 【免费下载链接】PathOfBuilding-PoE2 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding-PoE2 Path of Building PoE2作为流放之路2社区的顶级构建计算工具,…...
告别手动切号!全栈实战:用AI辅助编写一个「多平台海量私信秒回」系统
最近在研究全网营销和客资管理系统,看到这样两张产品宣传图,直击痛点:一个工作台,快速处理海量私信/评论(告别多个聊天窗口来回切换)。7x24小时在线,AI秒回客户(告别响应时间长、客户…...
星露谷物语SMAPI模组加载器:5分钟快速上手指南与完整使用教程
星露谷物语SMAPI模组加载器:5分钟快速上手指南与完整使用教程 【免费下载链接】SMAPI The modding API for Stardew Valley. 项目地址: https://gitcode.com/gh_mirrors/smap/SMAPI 你是否曾经因为星露谷物语模组安装复杂、冲突不断而感到困扰?今…...
如何解决Reloaded-II模组加载器安装过程中的依赖循环问题
如何解决Reloaded-II模组加载器安装过程中的依赖循环问题 【免费下载链接】Reloaded-II Universal .NET Core Powered Modding Framework for any Native Game X86, X64. 项目地址: https://gitcode.com/gh_mirrors/re/Reloaded-II Reloaded-II作为一款强大的.NET Core模…...
三步掌握QQ音乐加密文件解码:qmcdump工具完整实战指南
三步掌握QQ音乐加密文件解码:qmcdump工具完整实战指南 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 你是否…...
汉森软件冲刺港股:年营收6亿 净利1.4亿 已获IPO备案
雷递网 雷建平 5月15日深圳市汉森软件股份有限公司(简称:“汉森软件”)日前更新招股书,准备在港交所上市。汉森软件已获IPO备案,拿到了上市的钥匙,同期一并拿到备案的企业还包括南京海纳医药科技股份有限公…...
【ElevenLabs尼泊尔文语音实战指南】:20年AI语音工程师亲授7大避坑要点与本地化部署全流程
更多请点击: https://intelliparadigm.com 第一章:ElevenLabs尼泊尔文语音技术概览与核心价值 ElevenLabs 自 2023 年起逐步扩展其多语言语音合成能力,尼泊尔文(Nepali, ISO 639-1: ne)作为首批支持的南亚语系之一&am…...
5步掌握Mac视频预览革命:QLVideo让你的Finder变身全能播放器
5步掌握Mac视频预览革命:QLVideo让你的Finder变身全能播放器 【免费下载链接】QuickLookVideo This package allows macOS Finder to display thumbnails, static QuickLook previews, cover art and metadata for most types of video files. 项目地址: https://…...
路由器市场新机遇:从硬件到场景化解决方案的演进
1. 项目概述:一个被低估的“家门口”战场聊到路由器,很多人的第一反应可能是“运营商送的”、“能用就行”。确实,在过去很长一段时间里,家用Wi-Fi设备是一个典型的“黑盒”产品,用户对其性能、功能和体验的感知非常模…...
