【问题标题】:Superpowered SDK - Monitor mic input超级强大的 SDK - 监控麦克风输入
【发布时间】:2015-07-24 19:40:59
【问题描述】:

我已经从 Superpowered SDK 下载并测试了 CrossExample android 应用程序,这是我的问题: 如何实时收听手机的麦克风?我需要一些示例代码... 我的目标是对音频输入(麦克风)应用一些过滤器并立即收听结果。

非常感谢!

【问题讨论】:

  • Superpowered 会减少 Android 上的麦克风输入延迟吗?

标签: android c++ audio real-time


【解决方案1】:

实际上很容易获得音频输入。您只需在 SuperpoweredAndroidAudioIO 的构造函数中启用输入。为此,将第三个参数设置为 true,如下所示:

audioSystem = new SuperpoweredAndroidAudioIO(
    samplerate, buffersize, true, true, audioProcessing, this, -1, SL_ANDROID_STREAM_MEDIA, buffersize * 2);

现在您获得了示例的process方法中传递的音频输入。这意味着在

bool SuperpoweredExample::process(short int *output, unsigned int numberOfSamples)

相同的缓冲区用于输入和输出。输入写入short int *output,您可以从unsigned int numberOfSamples 获取长度。您可能需要将 short int *output 重命名为 short int *inputoutput 以进行澄清。

确保在用输出数据覆盖之前处理输入。如果您想应用任何效果,只需在处理方法中的输入/输出缓冲区上执行即可。

还要确保您在您的AndroidManifest.xml 中拥有RECORD_AUDIO 权限:

<uses-permission android:name="android.permission.RECORD_AUDIO" />

【讨论】:

    【解决方案2】:

    CrossExample 将仅演示使用不同效果混合两个预定义的音频剪辑(来自项目的原始文件夹)。团队仍然没有发布示例来展示您正在寻找的功能。这不是微不足道的(但相当复杂),因此我建议您深入了解一些现有示例,直到他们发布更多代码/教程,以便您以后更容易解决这些问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-27
      • 1970-01-01
      • 1970-01-01
      • 2010-09-30
      • 1970-01-01
      • 1970-01-01
      • 2011-04-29
      • 2014-02-07
      相关资源
      最近更新 更多