switchAudioOutputDevice method

Future<bool> switchAudioOutputDevice(
  1. String deviceId, {
  2. bool setAsDefault = true,
})

切换音频输出设备(扬声器/耳机)

Implementation

Future<bool> switchAudioOutputDevice(String deviceId,
    {bool setAsDefault = true}) async {
  try {
    final devices = await getAudioOutputDevices();
    final device = devices
        .where((item) => item.deviceId == deviceId)
        .cast<MediaDevice?>()
        .firstWhere((item) => item != null, orElse: () => null);
    if (device == null) {
      return false;
    }
    await Hardware.instance.selectAudioOutput(device);
    if (!setAsDefault) {
      Hardware.instance.selectedAudioOutput = null;
    }
    return true;
  } catch (_) {
    return false;
  }
}