如何获取android设备上向MIC吹气时的振幅

2024-02-24

如何获取android设备中向MIC吹气时的振幅。

MediaRecorder recorder = new MediaRecorder();
   recorder.setAudioSource(MediaRecorder.AudioSource.MIC);

   Timer timer = new Timer();
   timer.scheduleAtFixedRate(new RecorderTask(recorder), 0, 1000);

private class RecorderTask extends TimerTask {
private MediaRecorder recorder;

public RecorderTask(MediaRecorder recorder) {
    this.recorder = recorder;
}

public void run() {
    Log.v("", "amplitude is" + recorder.getMaxAmplitude());
}
}

我收到错误:

ERROR/AndroidRuntime(20927): Caused by: java.lang.RuntimeException: setAudioSource failed.
ERROR/AndroidRuntime(20927): at android.media.MediaRecorder.setAudioSource(Native Method)

public boolean isBlowing()
    {
        boolean recorder=true;

        int minSize = AudioRecord.getMinBufferSize(8000,AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT);
        AudioRecord ar = new AudioRecord(MediaRecorder.AudioSource.MIC, 8000,AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT,minSize);


        short[] buffer = new short[minSize];

        ar.startRecording();
        while(recorder)
        {

            ar.read(buffer, 0, minSize);
            for (short s : buffer) 
            {
                if (Math.abs(s) > 27000)   //DETECT VOLUME (IF I BLOW IN THE MIC)
                {
                    blow_value=Math.abs(s);
                    System.out.println("Blow Value="+blow_value);
                    ar.stop();
                    recorder=false;

                    return true;

                }

            }
        }
        return false;

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

如何获取android设备上向MIC吹气时的振幅 的相关文章

  • 如何为ScrollView放置固定图像背景?

    我应该想要滚动视图滚动 而不是背景中的图像 将图像添加到滚动视图框架之前的视图层次结构的较高位置
  • 在包“android”中找不到属性“backgroundTint”的资源标识符

    我发现了一些视图 xml 属性 例如backgroundTint backgroundTintMode 但是当我使用它作为视图属性定义时 Eclipse 显示错误 No resource identifier found for attri
  • 在 Android Studio 中,为什么我必须在模拟器中单击“运行应用程序”两次才能启动应用程序?

    在 Android Studio 中 当我按播放按钮在 Android 模拟器上安装并运行应用程序时 大约 5 10 秒后 我在屏幕底部收到一条消息 显示 安装成功 但应用程序实际上并未运行在模拟器上 我必须再次按下播放按钮 这是非常令人沮
  • 卸载后 Web 应用程序不显示“添加到主屏幕”

    这是我第一次创建网络应用程序 我设法解决了这个问题 所以我得到了实际的 chrome 提示 将其添加到主屏幕 然后我从手机上卸载了该网络应用程序 因为我想将其展示给我的同事 但是 屏幕上不再出现提示 问题 这是有意为之的行为还是我的应用程序
  • SearchView过滤ListView

    我已经实现了搜索视图来过滤我的列表视图项目 当我输入任何文本时 它会过滤列表 但当我退出搜索视图时 它不会返回原始列表项 public class PlacesListAdapter extends ArrayAdapter
  • 如何以编程方式检查 AndroidManifest.xml 中是否声明了服务?

    我正在编写一个库 该库提供了一项服务 其他开发人员可以通过将其包含在他们的项目中来使用该服务 因此 我无法控制 AndroidManifest xml 我在文档中解释了要做什么 但一个常见的问题是人们忽略了将适当的 标记添加到其清单中 或者
  • 是否可以将数组或对象添加到 Android 上的 SharedPreferences

    我有一个ArrayList具有名称和图标指针的对象 我想将其保存在SharedPreferences 我能怎么做 注意 我不想使用数据库 无论 API 级别如何 请检查SharedPreferences 中的字符串数组和对象数组 http
  • java.lang.NoClassDefFoundError:org.apache.batik.dom.svg.SVGDOMImplementation

    我在链接到我的 Android LibGDX 项目的 Apache Batik 库时遇到了奇怪的问题 但让我们从头开始 在 IntelliJ Idea 中我有一个项目 其中包含三个模块 Main Android 和 Desktop 我强调的
  • Android Activity 生命周期函数基础知识

    我正在测试这段代码 它显示活动所处的状态 public class Activity101Activity extends Activity String tag Lifecycle Called when the activity is
  • 找不到处理意图 com.instagram.share.ADD_TO_STORY 的活动

    在我们的 React Native 应用程序中 我们试图让用户根据视图 组件中的选择直接将特定图像共享到提要或故事 当我们尝试直接使用 com instagram share ADD TO FEED 进行共享时 它以一致的方式完美运行 但是
  • Android 模拟器插件无法初始化后端 EGL 显示

    我在 Cloudbees 上设置了 Jenkins 作业 并且可以在那里成功签出并编译我的 Android 项目 现在我想在 android 模拟器中运行一些 JUnit 测试并添加 Android 模拟器插件 我将 显示模拟器窗口 选项设
  • 如何使用 Cordova 获取当前安装的应用程序的版本?

    我已经找到了应用程序可用性插件 https github com ohh2ahh AppAvailability它主要检查用户是否在其设备上安装了某个应用程序 是否有可能获得应用程序的当前版本 开发者名称 重要 以及所有可能的信息 一般来说
  • 你的CPU不支持NX

    我刚刚下载了 android studio 但是我遇到了一个问题 当我运行它时 它说你的 cpu 不支持 NX 我应该怎么办 NX 或实际上是 NX 处理器位 是处理器的一项功能 有助于保护您的 PC 免受恶意软件的攻击 当此功能未启用并且
  • Google 云端硬盘身份验证异常 - 需要许可吗? (v2)

    我一直在尝试将 Google Drive v2 添加到我的 Android 应用程序中 但无法获得授权 我收到 UserRecoverableAuthIOException 并显示消息 NeedPermission 我感觉 Google A
  • 我的设备突然没有显示在“Android 设备选择器”中

    我正在使用我的三星 Galaxy3 设备来测试过去两个月的应用程序 它运行良好 但从今天早上开始 当我将设备连接到系统时 它突然没有显示在 Android 设备选择器 窗口中 我检查过 USB 调试模式仅在我的设备中处于选中状态 谁能猜出问
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • Android向menuItem添加子菜单,addSubMenu()在哪里?

    我想根据我的参数以编程方式将 OptionsMenu 内的子菜单添加到 menuItem 中 我检查了android sdk中的 MenuItem 没有addSubMenu 方法 尽管你可以找到 hasSubMenu 和 getSubMen
  • Android 套接字和 asynctask

    我即将开始制作一个应该充当 tcp 聊天客户端的应用程序 我一直在阅读和阅读 我得出的结论是最好 如果不需要 将我的套接字和异步任务中的阅读器 问题是我不确定从哪里开始 因为我是 Android 新手 这至少对我来说是一项艰巨的任务 但据我
  • Firebase 添加新节点

    如何将这些节点放入用户节点中 并创建另一个节点来存储帖子 我的数据库参考 databaseReference child user getUid setValue userInformations 您需要使用以下代码 databaseRef
  • android sdk 的位置尚未在 Windows 操作系统的首选项中设置

    在 Eclipse 上 我转到 windows gt Android SDK 和 AVD Manager 然后弹出此消息 Android sdk 的位置尚未在首选项中设置 进入首选项 在侧边栏找到 Android 然后会出现一个 SDK 位

随机推荐

  • 如何复制克隆 UIElement 并保留布局/渲染信息?

    我想复制一个复杂的数据绑定UIElement但保留原始 UIElement 中的绑定 布局和渲染信息 创建一个新的UIElement似乎效率低下 因为我必须执行另一个完整的绑定 测量 排列 渲染过程 到目前为止我最接近的是创建一个新的Dra
  • 对于上下文无关语法,如何将其转换为等效的下推自动机?

    对于 0 1 2 上的上下文无关文法 G 起始变量为 S S 0S0 1S1 2S2 是是 22 我如何将其变成等效的下推自动机 下推自动机可以将符号推入堆栈顶部并将其弹出 它还可以将其转换基于最顶层的堆栈符号 我们需要考虑一种机制 允许我
  • 通过 USB 模拟 UART

    有谁知道是否可以通过 USB 模拟 UART 简单串行发送和接收 这将如何实现 我在 Microchip 网站上找到了这个链接 但不是很容易找到 http www microchip com forums m522571 print asp
  • PassportJS 自定义身份验证回调未调用

    更新 以下错误已修复a commit https github com jaredhanson passport issues 186 我已将第一个答案标记为 正确 尽管该提交在其中一条评论中引起了我的注意 我希望利用自定义回调来处理 Pa
  • 使用 .htaccess 删除 .php 扩展名

    是的 我已经阅读了 Apache 手册并在这里进行了搜索 由于某种原因 我根本无法让它发挥作用 我最接近的是让它删除扩展名 但它指向根目录 我希望它只在包含以下内容的目录中工作 htaccess file 我需要做三件事 htaccess
  • javax.net.ssl.SSLHandshakeException:在 bigquery 中插入行时,远程主机在握手期间关闭了连接

    您好 我正在开发 Android 应用程序 其中集成了 bigquery 我发现有时我们在将数据插入大型查询表时会遇到很多 SSL 异常 我不知道该如何处理这件事 请帮忙看看这个问题的具体原因是什么 这是相同的主题 但没有答案进行流式插入
  • 如何简洁地创建一个以字母为键的字典?

    我创建了一个包含 26 个字母的字典 如下所示 aDict a 1 b 2 c 3 d 4 etc 我正在努力让我的代码变得更好 我的问题是 有没有更短的方法可以做到这一点而无需输入所有这些数字 您可以使用string ascii lowe
  • AngularJS 和 Angular-UI Bootstrap 选项卡范围

    我正在使用 AngularJS 和 Angular UI Bootstrap 选项卡 这是我的控制器 app controller SettingsCtrl scope SettingsFactory stateParams functio
  • 在 pandas 的数据框中创建一个组

    我有一个清单 例如 groups Group1 A B Group2 C D 和一个数据框 例如 A 100 B 200 C 300 D 400 我想将上面列表中的一组总和变为 Group 1 300 Group 2 700 我如何使用 p
  • 列表视图项目点击不起作用

    我的 ListView 中有一个 ListView 显示 ImageButton 我将 focusalble false 和 focusableInTouchMode false 设置为 ImageButton 我设置了ListView O
  • 使用 urllib3 进行多部分表单编码和发布

    我正在尝试上传csv文件至 不过 我遇到了一些问题 我think它源于不正确的mimetype 或许 我正在尝试通过以下方式手动发布文件urllib2 所以我的代码如下所示 import urllib import urllib2 impo
  • Android相机使用双指触摸预览缩放

    我正在尝试在相机预览模式下使用双指触摸手势进行缩放 但我无法做到这一点 我已经在 ImageView 上完成了 Zoom 控制 并且工作正常 现在我想在相机预览模式下执行此操作 即当我们启动相机时 我们可以使用双指手势进行缩放 下面我添加了
  • 如何清除SQL Server扩展事件事件文件

    如何清除SQL Server扩展事件存储在文件中 背景 SQL Server 扩展事件事件文件目标的文件存储在哪里 我想删除几个月的日志文件 但 SQL Server 没有告诉我这些文件在哪里 我会遵循 Microsoft SQL Serv
  • 我如何告诉 Sinatra 它是什么环境(开发、测试、生产)?

    免责声明 在 Heroku 上部署 Sinatra 的新手 我见过http www sinatrarb com configuration html http www sinatrarb com configuration html它告诉我
  • 将 WTForms 的 populate_obj( ) 方法与 Flask 微框架结合使用

    我有一个允许用户编辑其用户信息的模板
  • 在 iPhone SDK 中检测视网膜屏幕/iPhone 4

    在我的应用程序中 我从网络 准确地说是从我的服务器 下载一些图像 为了节省一些带宽 特别是手机上的内存 我以两种分辨率提供它们 旧 iPhone系列的480x320和对于配备视网膜显示屏的 iPhone 4 分辨率为 960x640 现在
  • 在 F# Foq 中模拟非标准事件

    我是 F 新手 我正在通过一些练习来学习这门语言 我目前正在尝试做的是为自定义 Castle Windsor 设施编写单元测试 并且我正在尝试模拟内核以引发 ComponentRegistered 事件 我使用的工具是 FsUnit xUn
  • 多个节点-mongodb-本机连接

    当我运行此 Node js 代码时 var mongodb require mongodb MongoClient mongodb MongoClient MongoClient connect mongodb localhost 2701
  • Laravel 5.4 - Cookie 队列

    我正在使用 Laravel 5 4 我写了类似的内容 Cookie queue refresh token data gt refresh token 864000 10 days null null false true HttpOnly
  • 如何获取android设备上向MIC吹气时的振幅

    如何获取android设备中向MIC吹气时的振幅 MediaRecorder recorder new MediaRecorder recorder setAudioSource MediaRecorder AudioSource MIC