草庐IT

audioRecord

全部标签

android - 在 Android 自定义 ROM 中修改通话中的语音播放

我想修改Android操作系统(来自AOSP的官方图片),为正常的电话播放声音添加预处理。我已经为应用音频播放实现了这种过滤(通过修改HAL和audioflinger)。我可以只定位特定设备(Nexus5X)。另外,我只需要过滤播放-我不关心录制(上行)。更新#1:说清楚-我可以修改Qualcomm特定的驱动程序,或者在Nexus5X上运行的任何部分,并且可以帮助我修改通话中的播放。更新#2:我正在尝试创建一个Java层应用程序,将手机播放实时路由到音乐流。我已经成功地将它安装为系统应用程序,获得了使用AudioSource.VOICE_DOWNLINK初始化AudioRecord的权

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

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

音频之Android NDK读写声卡

通过AndroidNDK读写声卡通过AudioRecord和AudioTrack两个类实现。AudioTrack:负责声音数据的输出AudioRecord:负责声音数据的采集相关头文件位置 system/media/audio/include/system ├──audio-base.h├──audio-base-utils.h├──audio_effect-base.h├──audio_effect.h├──audio_effects├──audio.h├──audio_policy.h└──sound_trigger.h音频源:typedefenum{  AUDIO_SOURCE_DEFA

音频之Android NDK读写声卡

通过AndroidNDK读写声卡通过AudioRecord和AudioTrack两个类实现。AudioTrack:负责声音数据的输出AudioRecord:负责声音数据的采集相关头文件位置 system/media/audio/include/system ├──audio-base.h├──audio-base-utils.h├──audio_effect-base.h├──audio_effect.h├──audio_effects├──audio.h├──audio_policy.h└──sound_trigger.h音频源:typedefenum{  AUDIO_SOURCE_DEFA

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我