**Android版本:**10
**Android设备:**一加6
我试着从AudioManager
中使用sessionID
来应用Java AudioEffect
,从这个LINK中获得帮助,但是当使用AcousticEchoCanceler.create(sessionId)
时,我总是得到NullPointerException
,但是当我传递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上尝试了此代码。
1条答案
按热度按时间ni65a41a1#
我已解决以下问题:为什么我的AcousticEchoCanceler.create(sessionId)即使可用也返回null。
下面是代码
当模式明确设置为MODE_IN_COMMUNICATION时,AcousticEchoCancelation开始工作。从这里您可以启用或禁用它。
目前我使用的是双簧管版本:1.5稳定