Google Chrome + Android + Wired headset volume adjusting issue

To Reproduce(If applicable)
Steps to reproduce the behavior:

  1. Connect a wired headset to an Android device.
  2. Join a Zoom session.
  3. Try changing the volume using the volume buttons.

The volume buttons adjust the call volume (as shown by the Android UI), but the session audio seems to be using the media volume channel instead.

Is there any way to ensure that the correct audio channel (media vs. call) is used for volume control in the Zoom Video SDK session on Android? Or to force the session to respect the volume type that matches the UI?

Screenshots

Device:

  • Device: Samsung S10+
  • OS: Android 12
  • Browser: Google Chrome

Additional context
When screen sharing starts, the volume buttons continue to adjust the call volume, but this actually affects the session audio.

Hey @Pavlo1

Thanks for your feedback.

This is a known issue on Android Chrome and is pending a fix from Google.

However, through testing, we’ve identified a possible workaround. You can call the following workaround method before invoking stream.startAudio to address this issue.

async function applyWebRTCAudioVolumeWorkaroundForChromeAndroid() {
    try {
        const devices = await navigator.mediaDevices.enumerateDevices();
        const headsetDevice = devices.find(device => device.kind === "audioinput" && device.label === "Headset earpiece");

        if (!headsetDevice) {
            console.warn("Headset earpiece device not found");
            return;
        }

        const stream = await navigator.mediaDevices.getUserMedia({
            audio: {
                deviceId: {
                    exact: headsetDevice.deviceId
                }
            }
        });

        stream.getTracks().forEach(track => track.stop());

    } catch (error) {
        console.error("Error accessing headset earpiece device:", error);
    }
}