MODE_IN_CALL、MODE_IN_COMMUNICATION、MODE_CALL_SCREENING 之间有什么区别?

c-a*_*-an 8 android android-audiomanager android-audio-streams

文件是这么说的,但我不能完全理解。

/* modes for setMode/getMode/setRoute/getRoute */
    /**
     * Audio harware modes.
     */
    /**
     * Invalid audio mode.
     */
    public static final int MODE_INVALID            = AudioSystem.MODE_INVALID;
    /**
     * Current audio mode. Used to apply audio routing to current mode.
     */
    public static final int MODE_CURRENT            = AudioSystem.MODE_CURRENT;
    /**
     * Normal audio mode: not ringing and no call established.
     */
    public static final int MODE_NORMAL             = AudioSystem.MODE_NORMAL;
    /**
     * Ringing audio mode. An incoming is being signaled.
     */
    public static final int MODE_RINGTONE           = AudioSystem.MODE_RINGTONE;
    /**
     * In call audio mode. A telephony call is established.
     */
    public static final int MODE_IN_CALL            = AudioSystem.MODE_IN_CALL;
    /**
     * In communication audio mode. An audio/video chat or VoIP call is established.
     */
    public static final int MODE_IN_COMMUNICATION   = AudioSystem.MODE_IN_COMMUNICATION;
    /**
     * Call screening in progress. Call is connected and audio is accessible to call
     * screening applications but other audio use cases are still possible.
     */
    public static final int MODE_CALL_SCREENING     = AudioSystem.MODE_CALL_SCREENING;
Run Code Online (Sandbox Code Playgroud)

您能举例解释一下吗?

目前,我在 WebView 上使用视频聊天服务,我得到MODE_CALL_SCREENING,它使用媒体音量,它应该使用“通话”音量。我怎样才能强迫它?

use*_*239 1

MODE_IN_CALL
您正在通过纯音频通话(普通电话通话)与某人通话

MODE_IN_COMMUNICATION
您正在与朋友进行视频和音频聊天或通过 VoIP 呼叫他们

MODE_CALL_SCREENING
您的电话正在响铃,您正在接听电话之前检查号码