Android - opensl es - invert sound - anti noise

时间:2018-02-10 20:59:17

标签: android c++ android-ndk audio-processing opensl

我对音频处理和开放系统非常陌生。我正在开发一款产生抗噪声的应用程序。我的想法是反转音频缓冲区队列中的值,但是,我尝试过的所有方法都不起作用。我正在使用opensl es,因为我的应用需要低延迟。

配置:

uint8_t *buffer; //buffer size is 384
engine.bitsPerSample_ = SL_PCMSAMPLEFORMAT_FIXED_16;
engine.sampleChannels_ = 1;

尝试的方法:

  • 按位否定:例如
    bufffer[i] = ~buffer[i];
  • 标准数学:例如如果buffer [i]为200,则buffer [i] = 127 - 73(127和200之间的差值);
  • 或多或少的试验和错误的各种其他方法

目的:
缓冲区中的所有值都被正确反转,当排入 SLAndroidSimpleBufferQueueItf 时,播放声音与源的反转。


有谁知道解决这个问题的最佳方法是什么?


将非常感谢任何和所有帮助:)

0 个答案:

没有答案