问题标签 [audiorecord]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6707 浏览

android - 更改 Android Audio Record 默认输入源

我目前正在编写一个需要记录和实时处理音频数据的应用程序。为此,我正在使用 AudioRecord 类。这一切都很好,除了在我的主要测试设备(galaxy nexus)上录制音频的默认设置是从后置扬声器录制。我假设大多数手机的默认录音源是背面或底部麦克风,因为当您使用手机通话时,您的嘴巴靠近底部。

但是,我的应用程序要求我从手机正面的扬声器录制,所以我希望有人可以帮助我如何以编程方式更改 AudioRecord 输入源。我已经广泛搜索了这个问题的答案。

我考虑过的一些事情是:

  • 使用 AudioManager 类并开启免提电话,如:

  • 在我的 AudioRecord 对象的构造中更改 AudioSource 参数:

  • 我发现 API 并不太具体说明哪些 AudioSource 格式是哪些,所以我想知道是否有其他人在这个问题上苦苦挣扎并可以为我指明正确的方向。

    提前致谢,

    0 投票
    1 回答
    347 浏览

    java - intent RECORD_SOUND_ACTION on LGP500

    I am writing code to run RECORD_SOUND

    works on all phones, but it crashes LGP500

    what is the problem?

    0 投票
    1 回答
    2364 浏览

    android - Android - 如何在录制时添加增益控制

    我为录音机应用程序工作,想添加增益控制,但我不知道该怎么做。我可以访问音频缓冲区,但我不知道如何使声音更大或更慢。我看到另一个应用程序有一个 seekBar 用于从特定范围中选择分贝。

    请告诉我应该怎么做才能在我的应用程序中实现增益控制。

    谢谢。

    0 投票
    2 回答
    118 浏览

    java - 调用 stop() 后在 android 中重用录制对象

    我正在制作一个应用程序,我在其中产生声音并录制此声音,评估此录音并再次执行此操作,直到声音良好。

    我遇到的问题是似乎不可能重用 AudioRecord 对象。此记录在一个线程中运行。当触发 onMarkerReached 事件时,我调用myAudioRecord.stop(); 并在评估后再次启动它,如下所示:

    但是记录器仅在第一次执行时才被调用。

    0 投票
    1 回答
    1377 浏览

    android - Android:java.lang.RuntimeException:无法实例化活动 ComponentInfo:java.lang.NullPointerException

    我正在尝试录制音频,之后应该立即播放录音。我要去哪里错了。请帮帮我。我没有得到。显示空指针异常...

    这是代码

    这是错误的LOGCAT文件.....

    让我知道我错在哪里..请帮助我.!!!!!!!!!

    0 投票
    2 回答
    7451 浏览

    android - Android:java.lang.IllegalArgumentException:无效的音频缓冲区大小

    我正在尝试使用 audiorecord 类立即录制音频后播放音频。我搜索了谷歌和stackoverflow,我发现了任何解决方案。有什么帮助吗?这是 Audio_Record ...的代码。

    我收到如下 logcat 文件所示的错误。

    日志错误

    请帮帮我..我应该使用什么缓冲区大小。我使用 4096 然后也显示相同的错误。

    0 投票
    1 回答
    6360 浏览

    android - 在 Android MediaRecorder 或使用 AudioRecord 上同时录制两个频道?

    我可以使用 MediaRecorder 或 AudioRecord 同时录制多个频道吗?我想要的是能够同时录制 MediaRecorder.AudioSource.VOICE_UPLINK 和 VOICE_DOWNLINK。可以分为两个单独的文件或具有两个通道的同一个文件。我尝试使用两个独立的 MediaRecorder 实例。但只有第一个记录。第二个说输入不可用。我还尝试同时使用一个 MediaRecorder 和一个 AudioRecord。同样,两者都单独工作,但是当 MediaRecorder 启动后出现 AudioRecord 时,会显示以下错误。

    我还尝试将第二个 MediaRecorder 放在一个新线程上。同样的结果。所以这让我想知道是否可以同时录制。我也在考虑是否可以使用一个带有两个通道的 AudioRecord 从 VOICE_UPLINK 和 VOICE_DOWNLINK 设置两个单独的输入,但如果可能的话,我不知道如何设置源。

    提前致谢

    编辑:

    Lucifer 的回答意味着 AudioRecord 不能在同时运行多个实例的情况下被异步调用。有谁知道可以同时录制 AudioSource.VOICE_UPLINK 和 AudioSource.VOICE_DOWNLINK 的方式?也许使用具有多个通道的单个 AudioRecord 实例?

    0 投票
    0 回答
    547 浏览

    android - android中的语音强度计算

    我创建了一个示例应用程序,用于通过谷歌搜索等语音命令搜索网络中的任何内容。我用import android.media.AudioRecord;这个。当用户说我根据声音的强度在图标上显示动画时。为此,我做了一个从互联网上得到的数学计算。如果我在做这个计算,我会得到错误的命令。请帮我找出原因。

    请看我的代码。

    //重新编码从这里开始

    // readBlock() 方法。计算在这里

    0 投票
    1 回答
    8675 浏览

    android - Android AudioRecord 频率过滤器一步一步

    Android:我是语音处理的新手,我使用 JTransform 库创建了具有 sampleRate 8000Hz 的 AudioRecord 对象我正在尝试过滤频率以下代码中有几件事我不明白我的问题如下

    Q.1 为什么我们将“toTransform[i] = (double) buffer[i] / 32768.0; // 有符号 16 位”缓冲区转换为 16 位值?

    Q.2 Rite now audioRecord 读取数据数组是短数组,如果我读取字节数组,我将如何将其转换为单字节 16 位?

    Q.3 我想用双数组以 Hz 为单位显示声音频率,如何计算声音频率?

    Q.4 我写了过滤方法 filterAudio() 但它不是过滤频率范围?

    请帮帮我我有很多问题在我的脑海里

    /* 代码如下 */

    0 投票
    1 回答
    1335 浏览

    android - AudioRecord 与新的 HTC One 系列 Android 手机

    我在市场上有一个使用 AudioRecord 类录制音频并将其保存到 SD 卡的应用程序。使用新 HTC One 系列手机的用户无法录制。

    开始录制时,它会在 SD 卡中保存一个 1kb 的文件,然后停止。通常它至少会创建一个 44KB 的标头,所以我相信它会在 prepare() 函数的某个地方停止。我没有 HTC 来测试这个,所以我傻眼了。我附上了我用来录制的课程,我正在录制未压缩的音频。在我的记录活动中,我使用构造函数初始化 extAudioRecorder 对象,如下所示:

    我觉得这应该适用于较新的手机。

    任何帮助,将不胜感激。这是我用于录制的课程的完整来源。它也可能对 LG Optimus One 手机做同样的事情。

    }