获取 Android 麦克风的分贝

2023-12-01

我已经搜索了一段时间了,但一直没能找到一种方法来实际从 Android 上的麦克风获取 SPL/db 值。

我发现讨论它的少数线程和文章将其视为某种东西so显然,任何人都应该能够做到这一点,并且更关心的是让他们的转换算法正确。

有谁知道如何做到这一点?


在开发其他相关应用程序并进行研究时,我发现了一些信息,这些信息对于任何正在研究此类内容的人来说都是有用的。

您会看到,Android 手机上的麦克风将返回 0 到 +- 32,400 之间的值。大多数情况下,超过 2,000 的任何声音都非常吵,例如音乐会、俱乐部或机械噪音。 “相对沉默”约为 30。但是,这些值的含义是相对的,并且会因手机而异。由于其中有麦克风,彼此相邻的多个设备将返回不同的值。这些值可能略有不同,或者lot.

刚刚在我的办公室测试了几款不同的 Android 手机,我发现某些设备在相同情况下返回的值是其他设备的 10 倍。这就是为什么没有人刚刚说“是的,你可以获得分贝值,这里有一些示例代码:”,因为实际上并没有真正可靠(且简单)的方法来做到这一点。

如果您将其上传到一台设备上,您可能会得到 30 dB,但另一台设备会返回 300dB。显然,没有人会生活在 300 分贝的环境中massive护耳。这些值必须被视为相对值;他们之间的关系如何。如果您想获得可以使用的值,“校准”,无论是动态的还是其他方式,都是必须的。必须有一个既定的基线,该基线不能来自您,必须与您的值进行比较。例如,如前所述,相对安静度应该在 30 左右。

如果手机在相对安静的环境中返回 456,则只需将您的 (30) 除以他们的 (456),您就可以得到一个因子来调整手机返回的值,以便它们与您期望看到的值相匹配,并且这些值可用于某种程度的可靠性。

这是我这几个月的发现,希望对大家有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取 Android 麦克风的分贝 的相关文章

  • 将“R.id.myID”从字符串转换为 int 值 R.id.myID?

    我的观点上的文字代表一个ID 因此 当单击时 我想获得对该资源的引用 以下不正确的代码代表了我想要做的事情 public void onCreate Bundle savedInstanceState super onCreate save
  • 如何为 Android 创建我们自己的 PDF 查看器?

    我想构建一个可在我的 Android 应用程序中使用的 PDF 阅读器 查看器 但我无法使用 Google 文档来阅读我的内容 我无法使用我的设备中已安装的任何 PDF 阅读器 它应该位于我的应用程序内 并且不会通过互联网公开我的安全内容
  • 当活动被破坏时如何保存状态

    public class Talk extends Activity private ProgressDialog progDialog int typeBar TextView text1 EditText edit Button res
  • 在 Android 模拟器上运行完整的 Android 手机 ROM

    正如标题所说 是否可以在 Android 模拟器中运行完整的 Android 设备 ROM 是的 你可以 但让它 100 工作可能很困难 大多数 ROM 都包含其运行硬件的特定驱动程序 我并不是 100 全力以赴 但可以尝试以下步骤 创建
  • Android:java.lang.OutOfMemoryError:

    我在 Android 上开发了一个使用大量图像的应用程序 可绘制文件夹中有很多图像 比如说超过 100 张 我正在开发图像动画应用程序 我使用 imageview 来显示 GIF 图像 我使用了将 gif 图像分割成多个 PNG 格式图像的
  • 如何在 Android 中的 Chrome 或 Firefox 等特定浏览器的 Web 视图中加载应用程序

    我是 Android 新手 我正在做一个应用程序 我需要在平板电脑上的 Web 视图中加载现有的应用程序 在平板电脑中 当我使用 Web 视图加载应用程序时 我的应用程序将加载到默认浏览器中 如何在平板电脑上的 Web 视图中的特定浏览器
  • Android 软键盘 - 禁用某些键

    我正在寻找一种使用内置软键盘并禁用某些键的方法 例如 如果用户不应该使用字母 f 因为在列表中该字母不存在 则该键应显示为灰色 想象一下 用户可以在文本框中键入文本以从列表中进行选择 该列表包含 ABC BCCD 床 如果用户输入 A 然后
  • 如何检查 Android 设备是否在线

    我的服务器不断检查我的 Android 应用程序是否在线 请问我可以在我的android应用程序上执行哪些操作 创建一个名为 isNetworkAvailable 的帮助器方法 该方法将根据网络是否可用返回 true 或 false 它看起
  • adb 今天无法连接到 VirtualBox 中的 Android-x86

    我在 VirtualBox 中成功安装了 Android x86 v3 2 eeepc 一段时间 这是帮助我在 Android 上调试 USB 主机应用程序的好方法 此类配置的安装是 安装VirtualBox 将 Android x86 v
  • 如何在启用抗锯齿的情况下旋转可绘制对象

    我需要将 ImageView 旋转几度 我通过子类化 ImageView 和重载来做到这一点onDraw Override protected void onDraw Canvas canvas canvas save canvas sca
  • 改造将多个图像上传到单个密钥

    我正在使用 Retrofit 将图像上传到我的服务器 这里我需要为一个密钥上传多个图像 我已经尝试使用 Postman 网络客户端 它运行良好 这是一个屏幕截图 以下是请求的键值对 调查图像 文件1 文件2 文件3 属性图像 文件DRA j
  • 绘制平滑曲线

    我想创建更平滑的曲线 而不仅仅是线角 这是我现在画的图 这是我的代码 case FREEHAND float pts float ptk ptk new float 2 imageMatrix invert inv if mCurrentS
  • 如何告诉 OkHttpClient 忽略缓存并强制从服务器刷新?

    在我的 Android 应用程序中 我将 Retrofit 与 OkHttpClient 结合使用 并启用缓存来访问某些 API 我们的一些 API 有时会返回空数据 我们在应用程序中提供了一个 刷新 按钮 供客户端从特定 API 重新加载
  • 如何将AVFrame转换为glTexImage2D使用的纹理?

    如您所知 AVFrame 有 2 个属性 pFrame gt data pFrame gt linesize 当我从视频 sdcard test mp4 android平台 读取帧后 并将其转换为RGB AVFrame副 img conve
  • java.lang.UnsatisfiedLinkError - android studio gradle 中的 NDK?

    文件夹结构 app main java jni Android mk Application mk hello jni c res 在构建 gradle apply plugin com android application androi
  • Android Studio - 无法解析符号“firebase”

    我目前正在将应用程序升级到新的 Firebase 版本 我按照指南进行操作 包括classpath com google gms google services 3 0 0 在我的项目 build gradle 的依赖项中以及compile
  • 无法使用 Zxing Android 扫描 Code 128

    我已将 ZXing 条码阅读器集成到我的 Android 应用程序中 它可以扫描大部分代码 但我有一张电费单 它无法扫描 使用 Galaxy Ace 5 0MP 我认为问题是由于相机分辨率和焦点造成的 因为当我使用 Xperia SL 12
  • 通过 Google 帐户从 Google Play 安装的应用程序列表

    以下是我的问题 是否可以通过使用任何 api 以编程方式通过 Google Play 获取用户已安装的应用程序列表 请注意 我并不是询问设备中当前安装的应用程序列表 而是询问在某个时刻已安装的应用程序列表 我需要解决上述问题 因为我正在考虑
  • 使用bindService启动IntentService时是否应该调用onHandleIntent?

    我的服务延伸IntentService当它开始时startService onHandleIntent被叫 但是 当服务启动时bindService 我确实需要绑定 onHandleIntent没有被调用 Should onHandleIn
  • 我想要有条件的登录导航,没有 MAIN 片段或按钮

    我正在使用 Android Jetpack 导航组件 实时数据和 Firebase 我希望工作流程就像用户打开应用程序时一样 然后根据登录 注销状态导航到登录 配置文件片段 而不需要任何主片段或按钮 请 我的应用程序中没有主要片段 用户启动

随机推荐

  • C# 实体 LINQ 返回错误且重复的值

    我使用以下代码 List
  • cakephp 2 ajax 表单

    我在 cakephp 2 中构建 ajax 表单时遇到问题 它显然自 1 3 以来已经发生了很大变化 我正在使用以下代码 div div div div
  • C 中的通用二叉搜索树

    我已经实现了二叉搜索树 但我也想使其通用 代码如下 typedef struct treeNode int data struct treeNode left struct treeNode right treeNode 和功能 treeN
  • laravel with() 方法与 load() 方法

    我真的很努力去理解两者之间的区别with 方法和load 方法 但没能真正理解 据我所知 使用with 方法 更好 因为我渴望加载关系 看来如果我使用load 我加载关系就像使用hasMany 或与对象之间的关系相关的任何其他方法 我理解错
  • 传递到字典中的模型项是 .. 类型,但是该字典需要类型为 的模型项

    添加了此问题和社区维基答案 以帮助解决许多未解答的问题 如中讨论的这个元帖子 我有一些代码 当它执行时 它会抛出一个异常 传递到字典中的模型项是 Bar 类型 但该字典需要 Foo 类型的模型项 这是什么意思 我该如何解决 该错误意味着您正
  • 单个查询中的 EF 多个聚合

    我想根据不同的条件获取一组的计数 var invoices new AccountingEntities Transactions var c1 invoices Count i gt i Type 0 var c2 invoices Co
  • Opera PreventDefault() on keydown 事件

    我正在尝试在我的网络应用程序中嵌入一些按键绑定 但我在 Opera 上遇到了困难 我有这个代码 window onkeydown function e var key e keyCode e keyCode e charCode e cha
  • 当我编织时,Rstudio 正在删除关键文件(PDF 和 HTML)

    所以我正在做一场 R 噩梦 我已经返回到在 RStudio 的上一次迭代 或可能更多 下构建的项目 我制作了一份可行的报告 并要求我更新 而我当前的烦恼那时并不存在 发生的情况如下 My report file is ISS Time Se
  • 批处理:搜索字符串以跳过上面的行并将结果写入新文件

    我已经成功编写了一个脚本 它需要一个字符串在特定文件中搜索 然后输出它第一次出现的行 然后我将该值放入 for 循环中并跳过解析该行数并写入它内容到一个新文件 然而 我没有得到空行 我发现这很难解决 我正在搜索的字符串是 缓存它出现的行号
  • java.lang.NoSuchFieldError:VERSION_2_3_0

    我刚刚将 Struts2 版本升级到 2 5 2 然后开始出现错误 我的应用程序甚至无法启动 我对 pom xml 和 web xml 进行了更改 我不确定我是否错过了任何课程 但日志没有这么说 pom xml
  • 如何使用 .NET 从现有 VFP (OLEDB) 表创建新的 VFP (OLEDB) 表?

    我们有一个创建许多 Visual Foxpro DBF 表的应用程序 每个表都有不同的架构 但它们都包含一个已知的日期字段 我被要求创建另一个应用程序 在 C 中 它将上周的数据从每个表复制到一个新表 在与源表不同的文件夹中 不同的表将保留
  • 如何使用 C# 在 ListBox 中创建多于 2 列?

    如何在 ListBox 中创建超过 2 列 以及如何插入数据 使用 C 提前致谢 Use UseCustomTabOffsets and CustomTabOffsets如下面的 VB NET 示例所示 Public Class Form1
  • printf(0, "%d", num) 中的 0 有什么作用?

    我通常用 C 编写代码 但我正在用 C 开发一个项目 我遇到了具有以下语法的 printf printf 0 d n num 我环顾四周 找不到 printf 中第一个 0 的作用的解释 有人可以向我解释一下吗 谢谢 Because xv6
  • 在 Angular2 应用程序中使用 GeoFire

    我正在尝试在我的 Angular2 RC5 应用程序中设置 GeoFire 我已经使用 npm 安装了 geofire 和 firebase 并配置了 systemjs 来导入它 这是我的 package json name MyProje
  • 如何确保我的程序只能执行一个实例?

    我希望我的程序 Java 可执行文件 jar 仅运行一次 我制作了一个程序 但现在我希望用户不能打开多个实例 感谢您的时间 我检查了服务器 客户端解决方案和锁定文件 但我不太了解它们 我也尝试让它们在 NetBeans 中运行 但没有成功
  • 如何在 Rx 中使用新的 BufferWithTimeOrCount 返回 IObservable> 而不是 IObservable>

    在 Windows Phone 7 上有一个新版本带时间或计数的缓冲区IObservable 的扩展方法 返回 流的流 而不是之前的 列表的流 我在尝试使用新方法或旧方法时遇到困难 所以也许我只是不明白它是如何工作的 但我的目标是创建一个流
  • 将动态数量的项目划分为列

    我有动态数量的项目 需要将其中分成几列 假设我得到了这个 array one two three four five six seven eight 我需要生成这个 ul li one li li two li li three li li
  • JBOSS 7.1.1 中 DLL 的路径设置

    我们有一些与以下相关的 DLLJava VB In Joss 4 X 我们以前是放在Application Server下的bin目录下的 我们迁移到JBOSS 7 1 1当我从 bin 目录中删除并将它们放入库文件夹中时C jboss a
  • 如何将 Stripe Connect 与 Node.js 集成?

    因此 我现在处于您登录 Stripe 帐户的部分 完成后它会将您重定向到我的网站 我不知道下一步该做什么 而且文档也很难理解 因为我没有任何 Node js 经验 我只需要一些关于该怎么做的指导 单击 授权 按钮后 在您的重定向 URI 处
  • 获取 Android 麦克风的分贝

    我已经搜索了一段时间了 但一直没能找到一种方法来实际从 Android 上的麦克风获取 SPL db 值 我发现讨论它的少数线程和文章将其视为某种东西so显然 任何人都应该能够做到这一点 并且更关心的是让他们的转换算法正确 有谁知道如何做到