AudioPlaybackConnector2 is a small Windows tray app that lets you play audio from a paired Bluetooth source, such as a phone, through your PC. It uses the Windows AudioPlaybackConnection API to manage A2DP sink connections from the tray.
Built with WinUI 3 Desktop and C++/WinRT and distributed as a per-user Windows package.
- Pair your phone or another compatible Bluetooth audio source with your Windows PC.
- Install AudioPlaybackConnector2 from the Microsoft Store.
- Launch AudioPlaybackConnector2 and use the tray icon to manage devices.
For commands and certificate-store options, see Installation.
- Tray-only workflow with no main window.
- Fast device picker on left-click.
- Connect, reconnect, and disconnect devices from the picker.
- Double-click the tray icon to toggle the configured default device, or the most recently connected device.
- Disconnect or reconnect all active devices from the picker when multiple devices are connected.
- Compact device options behind each device's … button, with an alias, default-device selection, and connection policies.
- Separate global and per-device policies for connecting on app startup and reconnecting after an unexpected connection loss.
- Optional incoming-connection mode that keeps the Windows A2DP sink ready, so a paired phone can connect and disconnect from its Bluetooth menu.
- Device aliases for cleaner picker, notification, and command-line labels.
- Privacy mode to redact real device names and IDs in UI, CLI output, and diagnostics.
- Support and diagnostics tools for Bluetooth settings, log folder access, and redacted bug-report details.
- Guarded device actions so repeated clicks do not start overlapping connect/disconnect work.
- Animated, theme-aware tray icons for idle, connecting, connected, and error states.
- Toast notifications for connection events, failures, and available updates.
- Optional start with Windows.
- Built-in GitHub release checks with App Installer handoff when an update is available.
- Settings window placement persistence.
- Local crash reports and minidumps for troubleshooting.
- Localized UI in eight languages.
- Audio can occasionally remain silent even while the device appears connected, including after a playback pause. Use the circular-arrow Reconnect action to restore playback. The cause is still under investigation in issue #1.
- Windows may keep A2DP sink audio on the default output despite a per-app choice in Volume Mixer. See issue #13 and Troubleshooting.
- Windows 10 version 2004 (build 19041) or newer.
- A Bluetooth adapter with A2DP support.
- A paired Bluetooth audio source that supports sending A2DP audio to Windows.
- Open device picker: Left-click the tray icon.
- Open tray menu: Right-click the tray icon.
- Connect or disconnect: Click a device name. A connected device shows a disconnect symbol when hovered or focused with the keyboard.
- Reconnect: Use the circular-arrow button beside a connected device.
- Device options: Click … beside a device. Use the back arrow to return to the list.
- Quick toggle: Double-click the tray icon to toggle the default device, falling back to the last connected device.
- Settings: Use the gear in the picker or the tray menu for language, startup, connection policies, notifications, privacy, and window placement.
- Help and updates: Choose Help in the tray menu or ? Help in Settings. Diagnostics are grouped in an expandable section; the update button sits beside the version.
- Command line: Use
apc2ctl.exefrom PowerShell, MacroPads, or scripts:
apc2ctl status
apc2ctl list
apc2ctl show
apc2ctl settings
apc2ctl connect --name "Device Name"
apc2ctl disconnect --id "<Windows device id>"
apc2ctl toggle --default
apc2ctl default set --alias "Desk Speakers"
apc2ctl alias set --name "WH-1000XM5" --value "Headphones"
apc2ctl reconnect-allAdd --json for machine-readable output. Add --raw when you explicitly need real device IDs or names while privacy mode is enabled.
The Microsoft Store is the recommended installation path. It provides Microsoft-signed packages and automatic updates for x64 and ARM64 devices.
GitHub releases provide an advanced .appinstaller path with automatic updates, a manual x64/ARM64 .msixbundle fallback, and the source code. These packages use a separate self-signed identity. Follow the installation guide to trust the certificate under Trusted People and install the exact framework dependencies. The old Inno Setup executables are no longer produced.
- Usage
- Command-line reference
- Installation
- Troubleshooting
- Architecture
- Translating
- Contributing
- Releasing
- Security policy
- Changelog
Use GitHub Discussions for questions, ideas, translation coordination, and automation recipes. Use GitHub Issues for reproducible defects and accepted work.
- Settings are stored locally in the current user profile.
- No telemetry is sent by the app.
- Update checks query GitHub release metadata.
- Privacy mode can redact real Bluetooth device names and IDs from the UI, command-line output, and copied diagnostics.
- Crash reports and minidumps stay on your machine unless you choose to share them.
- Minidumps may contain sensitive memory; review them before attaching them to an issue.
Translation improvements are welcome; see the translation guide.
- English
- German
- French
- Spanish
- Japanese
- Korean
- Chinese Simplified
- Chinese Traditional
Inspired by ysc3839/AudioPlaybackConnector.
MIT License. See LICENSE.
