Android 版本:10 Android 设备:OnePlus 6
我曾尝试使用 AudioManager 中的 sessionID 应用 Java AudioEffect 以获取此LINK的帮助,但在使用AcousticEchoCanceler.create(sessionId)时我总是得到空指针异常;但是当我传递 Java AudioRecord getAudioSessionId()的 sessionId 时,它可以工作。
我的代码是:
val audioManager: AudioManager = context.getSystemService(Context.AUDIO_SERVICE) as AudioManager
val sessionId = audioManager.generateAudioSessionId()
C代码是
recordingBuilder.setSessionId(static_cast<oboe::SessionId>(sessionId));
oboe::Result recordStreamResult = recordingBuilder.openStream(&recordStream);
我已经在 OnePlus 6 和 Motorola one Macro 上尝试过此代码