问题标签 [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 回答
15338 浏览

android - 麦克风输入处理

我正在尝试从麦克风获取音频数据。我通过使用AudioRecord用短裤类型填充缓冲区的类来实现这一点。

最终,我想绘制这个缓冲区的图表,以便获得类似示波器的显示(实时信息)。问题是,如果我想显示一个值(比如文本),那么我需要一个不同的线程来更新 UI。目前我正在通过使用AsyncTask和更新 UI来做到这一点AsyncTasks.publishProgress()。到目前为止,我还不是很成功,想知道我是否走在正确的轨道上?手柄是更好的方法吗?有没有人以前做过类似的事情,如果有的话,什么方法对你有用?另外,是否可以简单地轮询麦克风?


这是我的代码。它旨在从 MIC 输出每个读取的样本。它似乎以可接受的速率执行此操作,但偶尔显示为零。为什么?

这是 main.xml

请注意,您需要将此添加到 AndroidManifest.xml

我在 LG Optimus Black 上运行它。请帮助我使此代码尽可能高效。

0 投票
0 回答
465 浏览

android - 将 AudioTrack 录制到声音文件

我正在创建 PCM 数据(来自正弦波)并使用 AudioTrack 将它们传送到扬声器。

我想将此记录为 wav 文件(或类似格式)。我看过 AudioRecord 但它需要一个来源,并且似乎需要一个麦克风。我可以在没有源的情况下将自己的 PCM 数据通过管道传输到 AudioRecord 以保存我的音频吗?或者是否有另一种方法来实现这一点。

非常感谢。

0 投票
1 回答
199 浏览

java - Android中线程的最佳方法?

我有一个触发事件的动画。此事件会触发大量计算使用,从而导致 UI 卡顿。

我需要做的是保持线程顺利运行。当事件发生时,它会将一个字符串传递给线程,执行计算(包括使用 audioRecord 类)并返回一个布尔变量。

我环顾四周,似乎 AsyncTask 可能是最好的解决方案,但我想看看你们中是否有人有任何想法?考虑到性能,这是最好的方法吗?

谢谢,

0 投票
2 回答
1439 浏览

android - Android AudioRecord 通过 RTP 发送

背景

我正在创建一个 VoIP 应用程序。我知道已经有很多人出来了,但我有我的理由。由于商业影响,我不能只分叉 SipDroid,尽管它是一个高质量的应用程序。此应用程序针对 10 级姜饼 2.3.3。

问题

我创建了一个简单的 Activity,它创建了一个 AudioRecord 实例,然后开始一个循环:

问题

如何将 PCM 44KHz 16bit Monobyte[]变成 G711u/abyte[]的?

0 投票
2 回答
3260 浏览

android - Android audiorecord 实例失败

我正在创建一个应用程序来检测通过麦克风播放的声音频率。分析在 AsyncTask 中完成。当我尝试一个音符时它会起作用。

但是,当我尝试分析来自不同吉他弦的 6 个音符时,一个接一个(中间有大约一秒钟的延迟),它可能只捕捉到一个。

这是我得到的一些 LogCat 输出:

我删除了所有重复的内容。

这是我班的主要内容:

你们知道发生了什么吗?我做了一些环顾四周,但我似乎只是遇到有人说 Android 是“充满错误”。

任何帮助将不胜感激。

谢谢,本

0 投票
1 回答
2600 浏览

android - Android AudioRecord - 本机初始化失败

我正在尝试在我的 android 应用程序中使用 Pure Data 来进行节拍检测。我之前有基本功能,但是在重构我的代码并扩展应用程序之后,libpd 无法正确创建所需的 AudioRecord 实例。以下是我得到的错误:

错误代码-20表示本机初始化失败,所以我现在不知道该怎么办。我的清单中确实有 RECORD_AUDIO 权限。你有什么建议吗?

0 投票
3 回答
9748 浏览

android - Android音频FFT显示基频

我一直在研究一个显示输入信号基频的 Android 项目(作为调谐器)。我已经成功实现了 AudioRecord 类并从中获取数据。但是,我很难对这些数据执行 FFT 以获得输入信号的基频。我一直在看这里的帖子,并在 Java和Complex 类中使用FFT来配合它。

我已经成功地使用了 Java 中 FFT 中的 FFT 函数,但我不确定我是否获得了正确的结果。对于 FFT 的幅度(sqrt[re re+im im]),我得到的值开始很高,大约 15000 Hz,然后慢慢减小到大约 300 Hz。似乎不对。

此外,就来自麦克风的原始数据而言,数据似乎很好,除了前 50 个左右的值始终是数字 3,除非我在应用程序中再次按下调谐按钮,然后我才开始15. 这正常吗?

这是我的一些代码。

首先,我使用以下代码将短数据(从麦克风获得)转换为双精度数据,该代码来自我一直在查看的帖子。这段代码我不完全理解,但我认为它有效。

然后代码继续如下:

最后一点只是为了检查我得到了什么值(并让我保持清醒!)。在上面提到的帖子中,它谈到了需要采样频率并给出了以下代码:

如何实现此代码?我真的不明白 fftOutWindowSize 和 arrayIndex 来自哪里?

任何帮助是极大的赞赏!

达斯汀

0 投票
1 回答
5610 浏览

android - 如何创建连续运行的调谐器?

我正在为 Android 创建一个调音器(类似于吉他调音器),我想知道如何让调音器连续运行(几分钟左右)。我不希望它成为在后台运行的服务,就在用户在我的应用程序中时。

我已经成功地使用了这个AudioRecord类并且正在获取看起来正确的数据。我正在过滤这些数据并找到输入信号的基频,但需要帮助弄清楚如何让我的调谐器连续运行。

这是我的代码到目前为止的样子:

我是否需要更改有关按钮的内容以及按下时的作用?它只涉及缓冲区大小吗?我多久计算一次 FFT?

0 投票
2 回答
119947 浏览

android - Android AudioRecord 示例

我正在设计一个 Android 应用程序,我需要实现一个 AudioRecord 类来记录用户的声音。经过一些研究(没有提供足够的信息)和几次失败的尝试,我想知道是否有人可以通过发布一个关于如何使用 AudioRecord 捕获高质量声音的示例(代码)来帮助我。我真的很感激。谢谢

0 投票
0 回答
532 浏览

android - 录制和播放声音之间的延迟(android)

我写了一个同时播放环境声音的安卓应用程序。

此代码有效,但声音播放不连续。我认为 record.read() 和 track.write() 之间存在延迟。

请帮助我使声音连续播放,没有不良噪音或崩溃。谢谢...