作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有时我希望双簧管中的音频输出不播放任何内容,但我不想让它停止,我只希望它在没有数据到达时保持静音。我试过:
static void writeBlankData(float* pointer, int numFrames) {
std::fill_n(pointer, numFrames, 0);
}
oboe::DataCallbackResult PlayRecordingCallback::onAudioReady(
oboe::AudioStream *audioStream,
void *audioData,
int numFrames) {
float *floatData = (float *) audioData;
writeBlankData(floatData, numFrames);
return oboe::DataCallbackResult::Continue;
}
但我听到音频输出有嗡嗡声,而不是静音。一组 0
不应该是沉默的吗?我也尝试了 -1.0f
,它发出了不同的嗡嗡声。
最佳答案
最可能的原因是流是立体声,因此每帧有 2 个样本。您当前的代码采用单声道流。
尝试改变:
writeBlankData(floatData, numFrames);
收件人:
writeBlankData(floatData, numFrames * audioStream->getChannelCount());
关于android - 如何为双簧管库提供空白数据以作为声音播放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63478685/
我是一名优秀的程序员,十分优秀!