Skip to content

Conversation

@timusus
Copy link
Owner

@timusus timusus commented Nov 16, 2025

Implements bit-perfect audio playback for USB DACs on Android 14+ devices, addressing issue #157. This feature allows audio to be sent directly to external USB DACs without resampling, mixing, or processing by Android's audio system, preserving maximum audio quality for high-resolution files.

Changes:

  • Add BitPerfectManager to detect USB DAC connections and configure bit-perfect mode using AudioMixerAttributes API
  • Add MODIFY_AUDIO_SETTINGS permission required for audio configuration
  • Add user preference toggle in Playback settings
  • Integrate with existing playback architecture via dependency injection
  • Automatically activates when USB DAC is connected and preference is enabled
  • Requires Android 14 (API 34) or higher

The implementation monitors USB device attach/detach events and queries supported mixer attributes to configure the optimal bit-perfect playback mode for connected DACs.

Implements bit-perfect audio playback for USB DACs on Android 14+ devices,
addressing issue #157. This feature allows audio to be sent directly to
external USB DACs without resampling, mixing, or processing by Android's
audio system, preserving maximum audio quality for high-resolution files.

Changes:
- Add BitPerfectManager to detect USB DAC connections and configure
  bit-perfect mode using AudioMixerAttributes API
- Add MODIFY_AUDIO_SETTINGS permission required for audio configuration
- Add user preference toggle in Playback settings
- Integrate with existing playback architecture via dependency injection
- Automatically activates when USB DAC is connected and preference is enabled
- Requires Android 14 (API 34) or higher

The implementation monitors USB device attach/detach events and queries
supported mixer attributes to configure the optimal bit-perfect playback
mode for connected DACs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants