如何为我的音频设置类型以便将其视为通话?

How to set type to my audio so it will be treated like a call?

我正在 Android 上制作 VoIP 应用程序,像在

中一样播放 PCM 音频

在我的 phone(LG V20,Android8)上它可以工作,但是当我使用音量按钮时,它不显示通话音量并且音量控制不适用于我的音频。

如何制作我的音频 "Call audio" 并由标准音量控件控制?

您必须通过调用 "requestAudioFocus()" 获取 AudioFocus:https://developer.android.com/reference/android/media/AudioManager#requestAudioFocus(android.media.AudioFocusRequest) 并在请求的构造函数中设置 VOICECALL Stream。

最后,我失踪了:

  1. 许可 - MODIFY_AUDIO_SETTINGS
  2. 正在将 AudioManager 模式设置为 MODE_IN_COMMUNICATION

我很惊讶它没有出现在教程中,也许它在后来的 SDK 中被更改了。