草庐IT

audioRecording

全部标签

java - Android AudioRecord 类 - 快速处理现场麦克风音频,设置回调函数

我想从麦克风录制音频并访问它以进行近乎实时的播放。我不确定如何使用AndroidAudioRecord类来录制一些麦克风音频并快速访问它。对于AudioRecord类,官方网站说“应用程序及时轮询AudioRecord对象”,“正在填充的缓冲区大小决定了在溢出未读数据之前录制的时间长度”。后来建议轮询频率较低时应使用更大的缓冲区。他们实际上从未在代码中显示示例。我在一本书中看到的一个示例使用AudioRecord类来连续读取一个新填充有实时麦克风音频的缓冲区,然后应用程序将此数据写入SD文件。伪代码看起来像-setupAudioRecordobjectwithbuffersizeand

java - Android AudioRecord 类 - 快速处理现场麦克风音频,设置回调函数

我想从麦克风录制音频并访问它以进行近乎实时的播放。我不确定如何使用AndroidAudioRecord类来录制一些麦克风音频并快速访问它。对于AudioRecord类,官方网站说“应用程序及时轮询AudioRecord对象”,“正在填充的缓冲区大小决定了在溢出未读数据之前录制的时间长度”。后来建议轮询频率较低时应使用更大的缓冲区。他们实际上从未在代码中显示示例。我在一本书中看到的一个示例使用AudioRecord类来连续读取一个新填充有实时麦克风音频的缓冲区,然后应用程序将此数据写入SD文件。伪代码看起来像-setupAudioRecordobjectwithbuffersizeand

java - 如何将混响效果附加到 AudioRecord/PCM 数据并将其保存到文件中?

我想记录来自麦克风的输入,附加混响效果,并将结果保存到文件中。我的用例是一个应用程序,它可以让你唱一首歌并在录音后选择不同的预设混响选项,然后保存你的演奏并将其存储在后端服务器上。我发送到服务器的文件需要应用混响效果。到目前为止,我已经能够使用AudioRecord录制输入,并且我可以将混响效果添加到AudioTrack以听到混响效果,但我被卡住了关于弄清楚如何保存嵌入了混响效果的音频。这是我到目前为止所拥有的:privatevoidstartRecording(){finalintbufferSize=AudioRecord.getMinBufferSize(SAMPLE_RATE,

Android:AudioRecord 类问题:从不调用回调

我的AndroidJava应用程序需要将音频数据记录到RAM中并进行处理。这就是我使用“AudioRecord”类而不是“MediaRecorder”(仅记录到文件)的原因。到目前为止,我使用“read()”的繁忙循环轮询音频数据。到目前为止,这一直有效,但它过多地与CPUHook。在两次轮询之间,我将线程置于sleep状态以避免100%的CPU使用率。然而,这并不是一个真正干净的解决方案,因为sleep时间是不能保证,您必须减去安全时间以免丢失音频fragment。这不是CPU最优的。我需要尽可能多的空闲CPU周期一个并行运行的线程。现在我使用“OnRecordPositionUpd

Android AudioRecord 支持的采样率

我试图弄清楚运行Android2.2及更高版本的手机支持哪些采样率。我们希望以低于44.1kHz的速率进行采样,而不必重新采样。我知道所有手机都支持44100Hz,但想知道是否有一张表格可以显示特定手机的采样率有效。我看过Android的文档(http://developer.android.com/reference/android/media/AudioRecord.html)但它并没有多大帮助。有人找到这些采样率的列表吗? 最佳答案 原来的发帖人可能早就搬走了,但我会发布这个以防其他人发现这个问题。不幸的是,根据我的经验,每个

Android AudioRecord音频采集

环境:compileSDKVersion 30工具类:android.media.AudioRecord1.初始化AudioRecordprivatestaticfinalintsampleRate=44100;privatestaticfinalintchannelConfig=AudioFormat.CHANNEL_IN_MONO;privatestaticfinalintpcm16bit=ENCODING_PCM_16BIT;AudioFormataudioFormat=newAudioFormat.Builder().setSampleRate(sampleRate).setChann

用于录制音频的 Android AudioRecord 与 MediaRecorder

我想在我的Android手机上录制人声。我注意到Android有两个类可以做到这一点:AudioRecord和MediaRecorder.有人能告诉我这两者有什么区别吗?分别有哪些合适的用例?我希望能够实时分析人类语音以测量幅度等。我理解AudioRecord更适合这项任务是否正确?我在官方Android上注意到了guidewebpageforrecordingaudio,他们使用MediaRecorder却没有提及AudioRecord。 最佳答案 如果您想在录制过程中进行分析,您需要使用AudioRecord,因为MediaRe

java - Android AudioRecord 强制另一个流到 MIC 音频源

更新3:我已经与另一位开发人员合作,我们似乎找到了能够以大笔资金做到这一点的人。他们向我们发送了一个测试apk,它似乎有效。我们将继续购买源代码。我希望我们不会被骗。知道后我会更新更新2:仍在努力。经过更痛苦的日子,我现在认为没有什么特别的事情发生,但他们只是在native端使用AudioFlinger(Seethelink)来调用AudioFlinger::setParameters我现在正在寻找如何编写一个简单的JNI来调用AudioFlinger::setParametersaudio_io_handle_tioHandle,constString8&keyValuePairs我

java - Android AudioRecord 强制另一个流到 MIC 音频源

更新3:我已经与另一位开发人员合作,我们似乎找到了能够以大笔资金做到这一点的人。他们向我们发送了一个测试apk,它似乎有效。我们将继续购买源代码。我希望我们不会被骗。知道后我会更新更新2:仍在努力。经过更痛苦的日子,我现在认为没有什么特别的事情发生,但他们只是在native端使用AudioFlinger(Seethelink)来调用AudioFlinger::setParameters我现在正在寻找如何编写一个简单的JNI来调用AudioFlinger::setParametersaudio_io_handle_tioHandle,constString8&keyValuePairs我

Android 录音 之 AudioRecord

1、先构建最小音频录制缓冲区,通过getMinBufferSize获取,publicstaticintgetMinBufferSize(intsampleRateInHz,intchannelConfig,intaudioFormat)intBUFFER_SIZE=AudioRecord.getMinBufferSize(SAMPLE_RATE_IN_HZ,AudioFormat.CHANNEL_IN_DEFAULT,AudioFormat.ENCODING_PCM_16BIT);参数介绍:sampleRateInHz:音频采样率,一般为可选的三个->8000Hz、16000Hz、44100H