问题标签 [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.
java - 在 Android 中录制声音时出现错误
我制作了一个应用程序来记录声音并分析它的频率。这个过程每秒重复几次,因此使用线程。
这在大多数情况下确实有效,但由于某种原因在 logcat 中,我在第一次分析后重复了这些消息。
很少(但有时)当我测试时,应用程序没有声音。所以我认为这与这个错误有关。
代码如下,有人知道我哪里出错了吗?我没有正确杀死 AudioRecord 对象吗?为了便于阅读,修改了代码:
android - onPeriodicNotification 和 onMarkerReached 之间的区别 - Android
我想连续录制音频并将其发送到网络上的设备。我不想在发送时错过音频捕获。所以我尝试了“OnRecordPositionUpdateListener”。
在那,我遇到了“onPeriodicNotification”和“onMarkerReached”。我无法知道这两个在功能上究竟有何不同。我在网上搜索了很多关于这两种方法的信息,但找不到任何明确的解释。有人可以对此有所了解吗?
提前致谢。
java - 将 PCM 录制的数据写入 .wav 文件(java android)
我正在使用 AudioRecord 在 android 中录制 16 位 PCM 数据。记录数据并将其保存到文件后,我将其读回以将其保存为 .wav 文件。
问题是媒体播放器可以识别 WAV 文件,但播放的只是纯噪音。目前我最好的猜测是我的 wav 文件头不正确,但我一直无法看到究竟是什么问题。(我认为这是因为我可以播放我在 Audacity 中录制的原始 PCM 数据)
这是我用于读取原始 PCM 文件并将其保存为 .wav 的代码:
我没有包含 getBytesFromFile() 因为它占用了太多空间并且它是一种久经考验的方法。无论如何,这是进行实际录制的代码:
请提出可能出了什么问题。
android - Android 中的实时音频录制和播放以及线程和回调处理
我想录制现场音频并播放它。就 UI 而言,该应用程序只有三个按钮:一个用于开始录制和流式传输,一个用于播放预先录制的文件,最后一个用于停止当前任务(录制/ 播放)。为此,我分别使用AudioRecord和AudioTrack类进行录制和播放。我的程序看起来像....
/** * @作者阿米特 * */
正如您可能看到的那样startPlaying()
,stopPlaying()
功能还没有实现,所以我们不要谈论它们。目前我只是在尝试录制和播放。当我运行程序时,它会播放录制的音频,但音频似乎是从远处传来的。另一个问题是应用程序的 UI 线程挂起,尽管我有一个单独的线程来读取 Audio。请帮忙....
android - AudioRecord 行为问题
我正在努力使用 AudioRecord 把事情做好。
基本上我想做的是很少从我的 Android 设备上的音频中录制。我不必从音频源获取连续的字节流,但我必须每 5 分钟左右提供一个缓冲区。
问题是我的程序使用的内存在我每次录制时都会增加(我使用 DDMS 来调查我的内存问题)。我将我的代码减少到以下几行以更好地理解这个问题。
如果你能帮助我解决我的问题,请告诉我。谢谢。
android - Android - AudioRecord 类不读取数据,audioData 和 fftArray 返回零
我是 android 新手,我一直在开发 Pitch Analyzer 应用程序(最低 SDK:8)。我阅读了很多关于如何实现 Audiorecord 类的文章,但我想知道为什么它在我录制时不读取任何数据。我试图显示 audioData 和 fftArray 的值,但返回零,所以我认为问题出在 read 方法上。请尝试检查这些。以下是我使用的代码:
记录.java
android - Android:AudioRecord.read() 返回垃圾
我一直在开发一个可以实时播放麦克风音频的应用程序。它设置了一个 AudioRecorder,它在没有任何错误的情况下初始化。但是,在执行读取操作时,它只会返回一堆 zeor,或者很多接近 short 最大值的数字。我真的很困惑,如果有人可以帮助我,那将非常好。这是我的代码:
android - Android播放录制的音频
我一直在看这个例子https://stackoverflow.com/a/8974361/1191501它运行良好。但我的问题是如何引用录制的音频以便可以立即播放?
输出代码是:
这肯定会记录音频。
然后播放音频,我正在使用:
但我不知道如何引用文件名位以便播放。有任何想法吗?
iphone - 捕获音频到文件 ExtAudioFileWrite
我正在尝试将原始缓冲区数据捕获到音频文件中。像这样:
我被一个具有以下参数的函数所吸引:
AudioUnit inUnit, AudioUnitRenderActionFlags * ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inOutputBusNumber, UInt32 inNumberFrames, AudioBufferList * ioData
在其中我试图将数据写入文件,但出现错误的参数 -50 错误。结果 = ExtAudioFileWrite(audioFileRef, inNumberFrames, ioData);
如果我用自己的替换 ioData 参数:
..我第一秒得到大约 260MB 的文件。这里有什么问题?
android - 如何使用 setMaxDuration 将 AudioRecord 限制为 MediaRecorder 的录制时间
我需要在开始时间 2 分钟后停止 AudioRecord。使用 MediaRecorder,我使用 setMaxDuration 并且效果很好,但我也需要使用 AudioRecord 的好方法。
感谢帮助