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

java - Android音频FFT使用audiorecord检索特定频率幅度

我目前正在尝试使用 Android 实现一些代码,以检测何时通过手机的麦克风播放了多个特定的音频频率范围。我已经使用该类设置了AudioRecord该类:

然后读入音频:

执行 FFT 是我陷入困境的地方,因为我在这方面的经验很少。我一直在尝试使用这个类:

Java 中的 FFT与之配套的复杂类

然后我发送以下值:

这很容易让我误解这个类是如何工作的,但是返回的值到处跳跃,即使在沉默中也不能代表一致的频率。是否有人知道执行此任务的方法,或者我是否将事情复杂化以尝试仅获取少量频率范围而不是将其绘制为图形表示?

0 投票
3 回答
26403 浏览

android - 用于录制音频的 Android AudioRecord 与 MediaRecorder

我想在我的 Android 手机上录制人声。我注意到 Android 有两个类可以做到这一点:AudioRecordMediaRecorder。有人可以告诉我两者之间有什么区别以及各自的合适用例吗?

我希望能够实时分析人类语音以测量幅度等。我是否正确理解 AudioRecord 更适合这项任务?

我注意到官方 Android指南网页上录制音频,他们使用 MediaRecorder 没有提及 AudioRecord。

0 投票
1 回答
1007 浏览

android - 在 audiomanager 中使用流式音频记录

我正在尝试使用“audiomanager”中的“getStreamVolume”确定当前通过麦克风输入的音量。

audiomanager 文档中列出的唯一可用源流是用于警报、DTMF、音乐、通知、电话铃声、系统声音和电话呼叫。我不确定如何通过音频管理器路由麦克风以获得当前的提要音量。

任何指导将不胜感激

谢谢

0 投票
2 回答
43713 浏览

android - 需要一个简单的录音示例

我需要在 android 中使用 AudioRecorder 进行简单的音频录制和播放示例。我尝试使用 MediaRecorder,它工作正常。

0 投票
1 回答
2243 浏览

android - 有没有使用录音机录音的例子

是使用 Audio-recorder 进行音频记录的任何示例......以及是否可以开发断言功能以将音频作为曲目播放。

0 投票
1 回答
1564 浏览

android - 如何在 Android 中使用麦克风的强度?(嗓音)

我需要在我的应用程序中实现一个可以工作或需要通过麦克风读取语音强度的功能。但是我不知道该怎么做,有人可以帮我吗?只是我需要读出声音的强度,不认识任何单词。

我知道我必须使用AudioRecord类,但我不知道我必须在我的代码中写入哪些步骤,因为我不知道是否真的有必要将一些语音保存到 SD 卡中,然后再进行转换读取此信号的最大值后发送到 PCM。

0 投票
0 回答
1096 浏览

android - 检测 Android 上的当前音量

我正在构建一个始终从麦克风录制音频的应用程序,只要音频达到某个阈值,我就会执行某个操作。

但是,我应该如何计算阈值的适当体积?我有一个静态卷编码,它适用于某些设备但并非所有设备(在某些情况下它太敏感,反之亦然)。

我正在使用 AudioRecord,这是代码的一部分:

所以,我的问题是:如何计算 Constants.NO_VOLUME_AMPLITUDE 而不是硬编码?

非常感谢,泽

0 投票
2 回答
4923 浏览

android - AudioRecord 和 AudioTrack 回声

我正在两个设备之间传输麦克风音频,一切正常,但回声很差。

这是我在做什么

阅读线程

这里是录音线程

难道我做错了什么?

0 投票
2 回答
40728 浏览

android - Android:需要记录麦克风输入

有没有办法在实时播放/预览过程中记录 android 中的麦克风输入?我尝试使用AudioRecordAudioTrack执行此操作,但问题是我的设备无法播放录制的音频文件。实际上,任何安卓播放器应用程序都无法播放录制的音频文件。

另一方面,Using Media.Recorderto record 会生成一个可以由任何播放器应用程序播放的良好录制的音频文件。但问题是我无法在实时录制麦克风输入时进行预览/回放。

0 投票
1 回答
6735 浏览

android - 如何在 linux/android 平台上设置高于 44.1kHz 的音频采样率?

我注意到android.media.AudioRecord使用错误时无法正常工作sampleRateInHz

复制

您还可以使用 Samsung Nexus S(由 Google 提供)上的 pcmrecorder 轻松重现该问题:

https://market.android.com/details?id=com.kohei.android.pcmrecorder

http://ko-yasui.com/home/pcmrecorder/

所以它无法以 48Khz 录制,而硬件音频芯片支持高达 96KHz:

http://www.wolfsonmicro.com/products/audio_hubs/WM8994/

这是设备/固件错误还是已知限制?

注意android平台只保证44100Hz左右(连24KHz也不行)

http://developer.android.com/reference/android/media/AudioRecord.html

sampleRateInHz:以赫兹表示的采样率。44100Hz 是目前唯一保证适用于所有设备的速率,但其他速率(例如 22050、16000 和 11025)可能适用于某些设备。

源代码

您可以在以下位置找到重现这些问题的示例代码:

https://github.com/rzr/rzr-android-test/blob/api-android-media/src/fr/online/rzr/test/

曲目

如何克服这个限制?

  • 可以使用任何其他 API 吗?开放式,阿尔萨,开放式?如何 ?

  • 可以从用户端重新配置 alsa 驱动程序以能够在 44100Hz 以上采样吗?( .asoundrc )

  • 是否可以在不重新刷新/生根/重启设备的情况下做这样的事情

  • 否则如何解决这个问题?使用本机代码有效地进行上采样(插值)?

更多的

http://www.anddev.org/multimedia-problems-f28/how-to-set-audio-sampling-rate-higher-than-44-1hz-nexuss-t54722.html

http://en.androidwiki.com/wiki/Nexus_S