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

java - 在 Android 中录制声音时出现错误

我制作了一个应用程序来记录声音并分析它的频率。这个过程每秒重复几次,因此使用线程。

这在大多数情况下确实有效,但由于某种原因在 logcat 中,我在第一次分析后重复了这些消息。

很少(但有时)当我测试时,应用程序没有声音。所以我认为这与这个错误有关。

代码如下,有人知道我哪里出错了吗?我没有正确杀死 AudioRecord 对象吗?为了便于阅读,修改了代码:

0 投票
1 回答
1047 浏览

android - onPeriodicNotification 和 onMarkerReached 之间的区别 - Android

我想连续录制音频并将其发送到网络上的设备。我不想在发送时错过音频捕获。所以我尝试了“OnRecordPositionUpdateListener”。

在那,我遇到了“onPeriodicNotification”和“onMarkerReached”。我无法知道这两个在功能上究竟有何不同。我在网上搜索了很多关于这两种方法的信息,但找不到任何明确的解释。有人可以对此有所了解吗?

提前致谢。

0 投票
5 回答
32991 浏览

java - 将 PCM 录制的数据写入 .wav 文件(java android)

我正在使用 AudioRecord 在 android 中录制 16 位 PCM 数据。记录数据并将其保存到文件后,我将其读回以将其保存为 .wav 文件。

问题是媒体播放器可以识别 WAV 文件,但播放的只是纯噪音。目前我最好的猜测是我的 wav 文件头不正确,但我一直无法看到究竟是什么问题。(我认为这是因为我可以播放我在 Audacity 中录制的原始 PCM 数据)

这是我用于读取原始 PCM 文件并将其保存为 .wav 的代码:

我没有包含 getBytesFromFile() 因为它占用了太多空间并且它是一种久经考验的方法。无论如何,这是进行实际录制的代码:

请提出可能出了什么问题。

0 投票
2 回答
20391 浏览

android - Android 中的实时音频录制和播放以及线程和回调处理

我想录制现场音频并播放它。就 UI 而言,该应用程序只有三个按钮:一个用于开始录制和流式传输,一个用于播放预先录制的文件,最后一个用于停止当前任务(录制/ 播放)。为此,我分别使用AudioRecordAudioTrack类进行录制和播放。我的程序看起来像....

/** * @作者阿米特 * */

正如您可能看到的那样startPlaying()stopPlaying()功能还没有实现,所以我们不要谈论它们。目前我只是在尝试录制和播放。当我运行程序时,它会播放录制的音频,但音频似乎是从远处传来的。另一个问题是应用程序的 UI 线程挂起,尽管我有一个单独的线程来读取 Audio。请帮忙....

0 投票
1 回答
318 浏览

android - AudioRecord 行为问题

我正在努力使用 AudioRecord 把事情做好。

基本上我想做的是很少从我的 Android 设备上的音频中录制。我不必从音频源获取连续的字节流,但我必须每 5 分钟左右提供一个缓冲区。

问题是我的程序使用的内存在我每次录制时都会增加(我使用 DDMS 来调查我的内存问题)。我将我的代码减少到以下几行以更好地理解这个问题。

如果你能帮助我解决我的问题,请告诉我。谢谢。

0 投票
2 回答
4707 浏览

android - Android - AudioRecord 类不读取数据,audioData 和 fftArray 返回零

我是 android 新手,我一直在开发 Pitch Analyzer 应用程序(最低 SDK:8)。我阅读了很多关于如何实现 Audiorecord 类的文章,但我想知道为什么它在我录制时不读取任何数据。我试图显示 audioData 和 fftArray 的值,但返回零,所以我认为问题出在 read 方法上。请尝试检查这些。以下是我使用的代码:

FFT.java 复杂
.java

记录.java

0 投票
1 回答
3152 浏览

android - Android:AudioRecord.read() 返回垃圾

我一直在开发一个可以实时播放麦克风音频的应用程序。它设置了一个 AudioRecorder,它在没有任何错误的情况下初始化。但是,在执行读取操作时,它只会返回一堆 zeor,或者很多接近 short 最大值的数字。我真的很困惑,如果有人可以帮助我,那将非常好。这是我的代码:

0 投票
2 回答
881 浏览

android - Android播放录制的音频

我一直在看这个例子https://stackoverflow.com/a/8974361/1191501它运行良好。但我的问题是如何引用录制的音频以便可以立即播放?

输出代码是:

这肯定会记录音频。

然后播放音频,我正在使用:

但我不知道如何引用文件名位以便播放。有任何想法吗?

0 投票
2 回答
1413 浏览

iphone - 捕获音频到文件 ExtAudioFileWrite

我正在尝试将原始缓冲区数据捕获到音频文件中。像这样:

我被一个具有以下参数的函数所吸引: AudioUnit inUnit, AudioUnitRenderActionFlags * ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inOutputBusNumber, UInt32 inNumberFrames, AudioBufferList * ioData

在其中我试图将数据写入文件,但出现错误的参数 -50 错误。结果 = ExtAudioFileWrite(audioFileRef, inNumberFrames, ioData);

如果我用自己的替换 ioData 参数:

..我第一秒得到大约 260MB 的文件。这里有什么问题?

0 投票
1 回答
2373 浏览

android - 如何使用 setMaxDuration 将 AudioRecord 限制为 MediaRecorder 的录制时间

我需要在开始时间 2 分钟后停止 AudioRecord。使用 MediaRecorder,我使用 setMaxDuration 并且效果很好,但我也需要使用 AudioRecord 的好方法。

感谢帮助