audio_output_device_check 0.1.2
audio_output_device_check: ^0.1.2 copied to clipboard
Detect active audio output device and monitor output changes across Flutter platforms.
audio_output_device_check #
Flutter plugin to detect current audio output device and listen for output changes.
Supported Platforms #
- Android: supported
- iOS: supported
- macOS: supported
- Windows: supported (snapshot + name detection)
- Linux: supported (snapshot + name detection via
pactlwhen available)
Installation #
Add dependency in your app pubspec.yaml:
dependencies:
audio_output_device_check: ^0.1.1
Usage #
import 'package:audio_output_device_check/audio_output_device_check.dart';
final plugin = AudioOutputDeviceCheck();
plugin.audioDeviceStreamWithPermission(
autoRequestAndroidBluetoothPermission: true,
).listen((device) {
print('Audio output changed: ${device.type} - ${device.name}');
});
Android Bluetooth Permission API #
Plugin provides optional Android BLUETOOTH_CONNECT permission helpers:
final status = await plugin.getBluetoothConnectPermissionStatus();
final requested = await plugin.requestBluetoothConnectPermission();
Behavior:
- On Android: permission can be requested automatically when stream starts.
- On non-Android platforms: permission APIs return
BluetoothPermissionStatus.notApplicable. - On permission/API failures: plugin returns safe fallback device info instead of throwing.
Device Type Values #
AudioDeviceInfo.type can be:
bluetoothwiredspeakerunknown
Notes #
- Linux device name detection uses
pactlcommand output. If unavailable, fallback value is returned. - Stream emits current snapshot on listen; additional real-time update behavior depends on platform capabilities.