gpt4 book ai didi

java - 如何在android中录制音频时调整麦克风灵敏度

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:14:41 24 4
gpt4 key购买 nike

我正在开发一款录音应用。在其中,我有一个 Seekbar 来更改输入语音增益。我找不到任何方法来调整输入语音增益。

我正在使用 AudioRecord 类来录制语音。

 recorder = new AudioRecord(MediaRecorder.AudioSource.MIC,
RECORDER_SAMPLERATE, RECORDER_CHANNELS,
RECORDER_AUDIO_ENCODING, bufferSize);

recorder.startRecording();

我见过 app in the Google Play Store使用此功能。

最佳答案

据我了解,您不希望进行任何自动调整,只希望通过 UI 进行手动调整。 Android 中没有这方面的内置功能,您必须手动修改数据。

假设您使用 read (short[] audioData, int offsetInShorts, int sizeInShorts)用于读取流。所以你应该做这样的事情:

float gain = getGain(); // taken from the UI control, perhaps in range from 0.0 to 2.0
int numRead = read(audioData, 0, SIZE);
if (numRead > 0) {
for (int i = 0; i < numRead; ++i) {
audioData[i] = (short)Math.min((int)(audioData[i] * gain), (int)Short.MAX_VALUE);
}
}

Math.min 用于在 gain 大于 1 时防止溢出。

关于java - 如何在android中录制音频时调整麦克风灵敏度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25441166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com