问题标签 [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 投票
2 回答
4760 浏览

android - 带 MIC 的 Android AudioRecord 耳机

我对 AudioRecord 类有一些问题。我有一个应用程序可以在有人通过耳机收听音频时录制音频。在这种情况下,它工作正常。用户可以毫无问题地录制。任何使用带有内置麦克风的耳机的用户都无法进行录音。我的班级从 PCM 数据创建 .wav 文件,但没有从麦克风输入音频。它全是寂静。

我使用以下初始化我的 AudioRecorder:

尝试在 Android 中使用带麦克风的耳机进行录制是否有问题?

编辑:

刚刚发现耳机甚至不必有麦克风,并且内部麦克风仍然被禁用。有谁知道如何解决这个问题?

http://code.google.com/p/android/issues/detail?id=4095

0 投票
1 回答
5528 浏览

android - 在 Android 上使用 AudioRecord 录制会加快音频速度?

我正在使用 AudioRecord 录制原始音频以进行处理。音频记录完全没有任何噪音,但是当播放生成的原始 PCM 数据时,它的播放速度好像被加速了很多(最多大约两倍)。我正在 Audacity 中查看和播放 PCM 数据。我正在使用实际手机(三星 Galaxy S5670)进行测试。录制以 44100 Hz,16 位完成。知道是什么原因造成的吗?

以下是录制代码:

已解决:我在挣扎了 1-2 天后发布了这个。但是,具有讽刺意味的是,我在发布后不久就找到了解决方案。缓冲的输出流写入在 for 循环中花费了太多时间,因此流正在跳过样本。将其更改为阻止写入,删除 for 循环。完美运行。

0 投票
1 回答
1231 浏览

java - JTransform / MATLAB 结果

我为 Android 编写了一个测试程序,我从麦克风录制音频并使用 JTransform lib 来计算 fft。我与 matlab 进行比较,但我没有得到相同的结果。例如 :

J变换:

MATLAB:

录音机:

相关帖子

0 投票
1 回答
658 浏览

android - 计算语音强度时应用程序崩溃

在我的应用程序中,我正在计算记录用户命令时的声音强度。

Onclick 图标我开始录音并在用户再次按下它时停止它。在两者之间,我在图标上显示语音命令的强度。

我正在使用的代码如下所示。

但是,如果我再次启动语音检测,那么我会遇到异常并且应用程序崩溃了。下面给出了例外情况

0 投票
1 回答
102 浏览

android - 录音开始时的意图过滤器

是否存在指示录音何时开始的意图过滤器,还是我必须创建一个?我正在构建一个在后台线程中记录的应用程序,并且我希望在记录开始或停止时更新活动。

0 投票
2 回答
1126 浏览

audio - AudioRecord 缓冲区值

嗨,我正在构建一个应用程序,它将使用来自 MIC 的传入音频并将其与存储的声音文件进行比较。目前,我正试图掌握 AudioRecord 函数中的数据在保存到字节数组时的样子。我的问题是返回的值都是零。我不知道我是否可能没有正确使用/设置 AudioRecord 功能。这是我的代码:

所以我的问题是,为什么我得零?*另外我知道由于 16Bit 编码,我应该将数据存储在一个简短的位置,稍后会这样做,只是试图了解目前从 AudioRecord 函数返回的值。

0 投票
3 回答
2981 浏览

java - 在语音通话期间从麦克风录制的音频静音

我正在尝试构建从麦克风录制音频以供以后处理的应用程序。

一切正常,除了以下问题:在语音通话(进出)期间,录制的文件没有音频数据,它只包含 NULL。

我正在使用 AudioRecorder 和 MediaRecorder,两者都有同样的问题。问题是这是正常的 API 行为还是我遗漏了什么?

这里有一些附加信息:权限:

SDK:minSdkVersion="9" targetSdkVersion="15"

我正在使用 Jelly Bean 在 Nexus S 上测试我的应用程序。

提前致谢!

PS如果有人需要更具体的细节,请告诉我。

编辑

好的,所有答案都表明这是正常行为,但我仍然感到困惑,因为我可以找到很多使用麦克风录制语音通话的应用程序。录制语音通话不是我的本意,但我认为即使在语音通话期间我也可以使用麦克风。有什么建议么?

编辑

我刚刚在 Galaxy S Gingerbread 上测试了该应用程序,它成功了!现在我真的很困惑,开始理解“分段”这个词是什么意思......

0 投票
3 回答
14738 浏览

android - Android:使用 audiorecord 类录制音频播放快进

我正在尝试将音频和存储记录到 SD 卡中以及发送到服务器。当我尝试播放录制的声音时,它正在播放,但不是我录制的。如果我录制声音 10 分钟,它会播放 4 分钟,即有人按下快进按钮并发出一些嘈杂的声音。我没有找到我要去的地方。谁能告诉我如何解决这个问题(应该播放我录制的内容,即录制 10 分钟,然后只播放 10 分钟)。

这是代码..抱歉发布批量代码..

帮助将不胜感激..我已经对此进行了搜索,但是没有得到适当的解决方案..我正在尝试所有其他可能性,但没有成功。

非常感谢

0 投票
1 回答
314 浏览

android - 当通过音频采样的数据数量超过 AudioRecord 构造函数中设置的“bufferSizeInBytes”时会发生什么?

这是 的 Public Constructor AudioRecord,你可以找到最后一个名为 的参数bufferSizeInBytes,它的意思是“在录制过程中写入音频数据的缓冲区的总大小(以字节为单位)”。在安卓文档中。

我认为这是一个用于存储从音频硬件采样的所有数据的缓冲区。我有个问题 :

如果通过音频采样的数据数量超过“bufferSizeInBytes”,会发生什么,停止采样还是其他?

我做了一些测试,发现即使样本数据的数量超过了,也没有发生任何事情(它一直在记录)。为什么?

0 投票
1 回答
1583 浏览

android - 简单的生产者-消费者示例

我正在开发简单的生产者-消费者示例。一个线程使用类记录音频样本AudioRecord并将它们写入缓冲区。第二个只是读取缓冲区并且什么都不做。当用户想要停止记录时,第一个线程将特殊字符写入缓冲区,并指示另一个读取结束。这是我的代码

我试图在MyReader课堂上 设置断点,int c=1; 但从未达到。我使用这个例子编写了这段代码。可能是什么问题呢?