Skip to content

[Android] Low microphone quality through Bluetooth audio #431

@Zazo032

Description

@Zazo032

Package version

5.2.0 and 5.1.2

Environment

  • OS: Android (14)
  • Flutter: 3.22.3

Describe the bug

When performing an audio recording with a Galaxy device (I couldn't test other brands but this is reproducible in different Galaxy models) with a Bluetooth headset connected (I used AirPods Pro for testing but we have reports of other standard Bluetooth devices), the audio quality of the recordings is bad. The audio seems to be recorded through Bluetooth SCO and there's no way to do it through A2DP, so all audio recorded through Bluetooth devices has a low audio quality. I tried setting manageBluetooth to false but then the audio is recorded through the device microphone and not through the Bluetooth one. Setting numChannels to 1, useLegacy to true or modifying the audioSource also doesn't seem to have any effect in the recording quality.

Record configuration

const RecordConfig()

Steps to reproduce

Steps to reproduce the behavior:

  1. Run example project on an Android device (only tested it in Galaxy devices)
  2. Connect a Bluetooth headset that supports "Calls" audio profile/channel (screenshot attached)
  3. Record and play some audio through the Bluetooth device (input and output).
Bluetooth device settings

Screenshot_20241106_154228_Settings

Expected behavior

Audio gets recorded with the same or similar audio quality to the native recorder app.

Actual behavior

Audio gets recorded with a significantly worse quality than expected when recording through a Bluetooth microphone.

Additional context

Disabling the "Calls" option in the Bluetooth device settings is a workaround to get the expected audio recording quality.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions