android - 将 android.net.rtp 用于 VoIP

标签 android rtp headset speaker

我正在尝试使用 android.net.rtp 库制作 VoIP 应用程序。它的音频流可以正确发送和接收。

我的问题是:被叫电话的扬声器工作正常,但耳机一直静音(即使我关闭扬声器)。

我的代码:

AudioManager Audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
Audio.setMode(AudioManager.MODE_IN_COMMUNICATION);
Audio.setSpeakerphoneOn(true);
Audio.setMicrophoneMute(false);
sender = new RtpStreamSender(null, "169.0.199.19", AudioCodec.PCMU);

最佳答案

此代码可以帮助您。

@SuppressWarnings("deprecation")
        boolean isWiredHeadsetOn = audioManager.isWiredHeadsetOn();
        audioManager.setMode(isWiredHeadsetOn ?
            AudioManager.MODE_IN_CALL : AudioManager.MODE_IN_COMMUNICATION);
        audioManager.setSpeakerphoneOn(false);

关于android - 将 android.net.rtp 用于 VoIP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18122278/

相关文章:

android - Jetpack compose 更新到 1.0.0-rc01 后无法预览

java - 计数器不会在 AsyncTask 的新实例中重新启动

Android - 在应用程序启动时检测音频的路由位置

android - 单击按钮重新启动 GlSurfaceView

java - Android 上的位图 LockBits?

java - Android 的 RTP 库是否支持多播?

audio - 如何使用 ffmpeg 在互联网上流式传输 RTP 音频?

c# - 录制编码播放并保存一个 wav 文件

ios - 取下耳机时防止视频暂停