Android AudioRecord 初始化失败

2023-12-01

我在使用 Android 版 AudioRecord 时遇到问题。我已经在网上阅读了尽可能多的内容,但我似乎无法获得良好的初始化。我尝试过 Android 2.2 模拟器、1.5 模拟器和我的手机(运行 Froyo 的 HTC Incredible)。模拟器和我的手机初始化失败。

我尝试过8000、11025和44100的采样率,CHANNEL_IN_MONO/STEREO和CHANNEL_CONFIGURATION_MONO/STEREO的格式,8位和16位编码(8位使getMinBufferSize失败),以及MIC和DEFAULT的AudioSource。所有这些都会导致变量 test 在运行 get state 后变为 0(初始化失败)。

从我读到的所有内容看来,这应该正确初始化对象。我在 buflen 上尝试过乘数,使其范围从 512(函数的结果)到 102400,因为我听说 HTC 设备需要高于 8192 的值。

为了测试我的问题,我创建了一个新的小项目,尽可能简单地重现我的问题。我将所需的常量提取到本地整数中,然后运行构造函数并访问 getState 方法以检查它是否有效。

package com.example.audiorecordtest;

import android.app.Activity;
import android.os.Bundle;
import android.media.AudioFormat;
import android.media.AudioRecord;
import android.media.MediaRecorder;

public class audioRecordTest extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        int freq =8000;
        int chan = AudioFormat.CHANNEL_IN_MONO;
        int enc  = AudioFormat.ENCODING_PCM_16BIT;
        int src  = MediaRecorder.AudioSource.MIC;
        int buflen = AudioRecord.getMinBufferSize(freq, chan, enc);
        AudioRecord ar = new AudioRecord(src,freq,chan,enc,20*buflen);
        int test = ar.getState();
    }
}

我认为他的意思是你需要清单中的 RECORD_AUDIO 权限:

<uses-permission android:name="android.permission.RECORD_AUDIO" />

这对我有用。

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

Android AudioRecord 初始化失败 的相关文章

  • 如何强制 Eclipse 将 xml 布局和样式显示为文本?

    我最近升级到带有 ADT 20 0 3 的 Eclipse 4 2 Juno 如果我查看旧项目中的布局或样式 Eclipse 只会向我显示其适当的基于控件的编辑器 我想编辑语法突出显示的 xml 文本 我没有找到将插件的编辑器切换到此模式的
  • 在android中通过BLE传输图像

    我使用以下代码传输 1 MB 的图像 如果在每个数据包之间实现线程延迟 则图像将成功传输 如果未设置线程延迟 则所有数据包均从BluetoothGattServer 发送 但BluetoothGattCallback 不会接收所有数据包 任
  • FTS3 在 ORMLite 中搜索?

    我对 FTS3 一无所知 除了http developer android com guide topics search search dialog html http developer android com guide topics
  • 如何使用Android opencv使图像的白色部分透明

    我无法链接超过 2 个网址 因此我将我的照片发布到此博客 请在这里查看我的问题 http blog naver com mail1001 220650041897 http blog naver com mail1001 220650041
  • 使用 ADB 命令获取 IMEI 号码 Android 12

    对于 11 之前的 Android 版本 我使用以下命令从我的设备获取 IMEI 号码 adb shell service call iphonesubinfo 4 cut c 52 66 tr d space or adb shell s
  • 带操作按钮的颤动本地通知

    我在我的 flutter 项目中尝试了 flutter 本地通知插件 它在简单通知上工作正常 但我需要带有操作按钮的通知功能 请帮助我或建议我实现此功能 不幸的是 flutter local notifications 插件尚不支持操作按钮
  • 如何为发布而不是调试创建密钥库?扑

    我按照使用此网站部署 flutter 的步骤进行操作https flutter io android release https flutter io android release 当我运行 flutter build apk 时出现此错
  • Android Library项目使用gradle在命令行编译时无法导入另一个库项目的R类

    我的 android 项目有这样的结构 ProjectDir settings gradle MyApp depends on LibraryA and LibraryB gt build gradle gt All the other a
  • AudioTrack、SoundPool 或 MediaPlayer,我应该使用哪个?

    如果我需要能够 播放多个音频文件 具有不同的持续时间 例如 5 到 30 秒 独立设置右 左声道的音量 应用声音效果 如混响 失真 那么 我应该使用哪个 API 另外 我在 AudioTrack API 上找不到太多文档 有谁知道在哪里可以
  • 如何在手机缓存中保存用户名和密码

    我有一个用户登录应用程序 它需要用户的电子邮件和密码 我想将电子邮件和密码保存在手机缓存中 以便用户不必再次输入 有什么办法可以将数据保存在Android缓存中吗 我认为你需要使用SharedPreference用于在设备中使用应用程序时保
  • Android 应用程序中的 Eszett (ß)

    我的 res layout activity 文件中的德语 字符在我的应用程序中自动转换为 ss 即使我将语言和键盘设置为德语 它仍然不会显示 Android 中可以显示 吗 edit
  • 如何在 Android 模块中使用 FirebaseAuth

    我正在开发一个聊天库 我想在其中显示登录用户的对话 制作该库的原因是我想将其集成到多个项目中 我现在面临的问题是FirebaseAuth表示用户尚未登录 FirebaseAuth getInstance mFirebaseApp getCu
  • 获取手机的 z 轴和磁北极(而不是 y 轴)之间的角度

    我知道如何使用 getOrientation 方法获取手机 y 轴和磁北之间的方向角 如此处所述https developer android com guide topics sensors sensors position https
  • 画透明圆,外面填充

    我有一个地图视图 我想在其上画一个圆圈以聚焦于给定区域 但我希望圆圈倒转 也就是说 圆的内部不是被填充 而是透明的 其他所有部分都被填充 请参阅这张图片了解我的意思 http i imgur com zxIMZ png 上半部分显示了我可以
  • PhoneStateListener 不调用

    这是我的完整代码 广播示例 java package com example broadcast gt import android app Activity import gt android content Context import
  • 模块中的类无法加载

    我正在开发一个 2D Unity android 游戏 其中我最近添加了 Firebase Beta SDK 但添加后FirebaseAnalytics unitypackage我面临的错误是 无法加载模块中的类 当我删除文件夹时Fireb
  • Android 中循环事件的星期几和时间选择器

    我想创建一个控件 允许用户在我的 Android 活动中选择一周中的某一天 星期一 和一天中的某个时间 下午 1 00 找不到任何关于此的好帖子 好吧 我想我已经明白了 我只是不喜欢这个解决方案 因为我在一周中的某一天使用的微调器与时间选择
  • 使用 JobScheduler API 进行位置更新

    下面是我使用 FireBaseJobDispatcher 启动作业的演示代码 public class MainActivity extends AppCompatActivity Override protected void onCre
  • 尝试将 SQLite DB 从数据复制到 SD 卡

    我正在使用以下代码 该代码发布在 Stack Overflow 上的某个位置 并根据我的目的进行了修改 try File sd Environment getExternalStorageDirectory File data Enviro
  • Android 中带有组的列表视图

    我有一个列表视图 每行都有一些日期和文本 我可以像 iPhone 中那样将这个 listView 分组 组之间有标题吗 在 android 中是否可能 请帮忙 即 我需要在 Listview 行之间有标题栏 以便如果我使用日期对其进行分组

随机推荐

  • 线程“main”java.sql.SQLException中的异常:靠近“s”:语法错误

    我编写了一个程序 用单词列表填充数据库 问题是 每次我尝试运行代码时 它都会抛出 线程 main java sql SQLException中的异常 接近 s 语法错误 我意识到这个论坛上也有人提出了类似的问题 但在我的代码上下文中我无法纠
  • CardView突然变黑了

    我有一个问题CardView in the RecyclerView My CardView突然变黑了 我的RatingBar变成蓝色 我正在使用InfiniteRecyclerView但将其改为简单的RecyclerView没有影响 我可
  • 在Python中重新打开文件?

    假设我有这个简单的 python 脚本 file open C some text txt print file readlines print file readlines 运行时 第一个打印会打印包含文件文本的列表 而第二个打印会打印空
  • pheatmap 中缺少注释和颜色

    使用 pheatmap R 包 我需要制作带有自定义颜色集注释的热图 我使用以下代码 Make a matrix mat lt replicate 23 rnorm 23 colnames mat lt c 1 2 3plus3reseq
  • Material-UI Button 组件如何推断传递给“component” prop 的组件的 props?

    谁能解释一下 Material UI 如何扩展其 propsButton如果我在component prop interface MyLinkProps extends ButtonBaseProps someRandomProp stri
  • 使用字典将 xml 反序列化为对象

    这是我的班级结构 class DataItem public string Id get set public string Type get set private Dictionary
  • 前瞻和非捕获正则表达式

    我试图将 字符之前的电子邮件地址的本地部分与 LOCAL RE NOTQUOTED w alphanumeric and special chars but no dot at beginning w alphanumeric and sp
  • 传递类型参数进行实例化

    为什么 scala 编译器不挖掘这个 class Clazz class Foo C lt Clazz val foo new C class type required but C found error val a new C erro
  • 无法获取 PropertyInfo.SetValue() 来设置我的对象的值

    我已将下面的代码简化为一个基本示例 但我仍然无法获取要设置的值 执行 propertyInfo SetValue 时 它将在我的 Contact 对象的 setter 上命中断点 并且该值在 setter 中正确设置 但是 执行 SetVa
  • Java进程间互斥体

    我需要在 Java 中实现某种进程间互斥锁 我正在考虑使用本文中推荐的 FileLock APIthread 我基本上将使用一个虚拟文件并将其锁定在每个进程中 这是最好的方法吗 或者是标准 API 中内置的类似内容 我找不到 欲了解更多详情
  • 如何在 Android Studio 中对齐 XML 代码?

    Android Studio 中是否有任何功能可以通过 符号对齐所有 XML 属性 我找不到任何允许这样做的设置 Just another code format fanatic who likes code readability 下面的
  • 添加数据以返回 Symfony 控制器中的所有操作

    我在 Symfony 2 1 应用程序中有一个控制器 我们就这样称呼它吧FooController in the BarBundle 这个控制器有很多动作fooAction barAction bazAction还有一些 他们都有一些共同点
  • 使用终端而不是 Xcode 运行 C 脚本

    目前我正在我的 Mac 上使用 Xcode 开发几个 C 程序 然而有1个问题 我的学习要求我通过编码使用某种输入字段 例如 如果用户想要运行该程序 10 次或希望该程序创建 10 个答案 我使用 atoi argv 1 只是为了获取用户的
  • SQL DELETE 并 JOIN 另一个表作为 WHERE 条件

    我必须从中删除行guide category与 没有关系的guide表 死关系 这就是我想做的 但它当然行不通 DELETE FROM guide category AS pgc WHERE pgc id guide category IN
  • 使用 JQueryUI 一次打开多个工具提示

    我需要做类似的事情 document tooltip open 我需要这样做 因为我想在鼠标悬停时显示工具提示 但也想用一个复选框显示所有这些工具提示 这可能吗 你可以在 jsFiddle 中查看我想要的内容 http jsfiddle n
  • BMP 图像标题 - biXPelsPerMeter

    我已经阅读了很多有关 BMP 文件格式结构的内容 但我仍然无法理解字段 biXPelsPermeter 和 biYPelsPermeter 的真正含义是什么 我的意思是在实际中 它是如何使用的或者如何利用它 有什么例子或经验吗 多谢 双像素
  • 有谁能够让肥皂库与 NetSuite WSDL 一起使用吗?

    有谁能够让肥皂库与 NetSuite WSDL 一起使用吗 当我尝试创建客户端时出现此错误 from suds client import Client url http mssoapinterop org asmx simple asmx
  • 在 Node 服务器上运行 Matter.js

    我正在尝试运行一个在服务器上运行物理模拟的服务器 并让客户端通过 websockets socket io 连接到该服务器 我知道我可以使用 Matter js 与渲染分开计算引擎 所以我的问题是 如何将引擎数据发送给客户端 我有一个Gam
  • 如何根据用户的不同让我的机器人在不同的对话框中启动

    基本上 我希望使用 iframe 和 Bot Framework Web Chat 将我的机器人放在不同的页面上 根据用户打开机器人的页面 会调用不同的对话框 如果没有 Direct Line 这就像向 api messages 添加查询参
  • Android AudioRecord 初始化失败

    我在使用 Android 版 AudioRecord 时遇到问题 我已经在网上阅读了尽可能多的内容 但我似乎无法获得良好的初始化 我尝试过 Android 2 2 模拟器 1 5 模拟器和我的手机 运行 Froyo 的 HTC Incred