搜索插件、代码仓与 APP 分类

插件详情v3.1.0

flutter_headset_detector

用于耳机事件的 Flutter 插件。检测耳机是否已插入和拔出。获取当前耳机状态。

AndroidiOS
近 30 天下载
1030
喜欢数
5
Pub 分数
150

安装插件

flutter pub add flutter_headset_detector

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

一个 Flutter 插件,可在 Android 和 iOS 设备上检测耳机连接事件。它允许应用程序在耳机插入或拔出时做出响应,并提供当前耳机状态。非常适合需要实时了解音频输出变化的音频应用。该插件与 Flutter 的事件系统无缝集成,支持两个平台且设置简单。开发者可以利用它根据耳机是否存在来调整音频路由或 UI 行为,从而提升用户体验。

适合场景

  • 音频应用增强
  • 实时音频路由
  • 用户界面适应
  • 设备状态监控
  • 媒体播放控制

主要特点

  • 检测耳机插拔事件
  • 提供当前耳机状态
  • 跨平台(Android & iOS)
  • 简单的基于事件的 API
  • 轻量且可靠

适合对象

  • 音频应用
  • 媒体播放器
  • 可访问性工具
  • 需要硬件反馈的移动应用
  • 开发响应式音频界面的开发者

使用建议

  • 需要平台特定权限
  • 仅限头戴设备检测
  • 不支持蓝牙耳机
  • 依赖于原生设备功能
  • 可能需要在物理设备上进行测试

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

Flutter Headset Detector Plugin

A Flutter plugin to get a headset event.

This is a clone of headset_connection_event, but seperated wired and wireless event.

Current Status

Platform Physical Headset Bluetooth
iOS ✅ ✅
Android ✅ ✅

Usage

To use this plugin, add flutter_headset_detector as a dependency in your pubspec.yaml file.

Example
// Import package
import 'package:flutter_headset_detector/flutter_headset_detector.dart';

// Instantiate it
final headsetDetector = HeadsetDetector();
Map<HeadsetType, HeadsetState> headsetState = {
  HeadsetType.WIRED: HeadsetState.DISCONNECTED,
  HeadsetType.WIRELESS: HeadsetState.DISCONNECTED,
};

// if headset is plugged
headsetDetector.getCurrentState.then((_val){
  headsetState = _val;
  setState(() {
  });
});

// Detect the moment headset is plugged or unplugged with a Listener
headsetDetector.setListener((_val) {
  switch (_val) {
    case HeadsetChangedEvent.WIRED_CONNECTED:
      headsetState[HeadsetType.WIRED] = HeadsetState.CONNECTED;
      break;
    case HeadsetChangedEvent.WIRED_DISCONNECTED:
      headsetState[HeadsetType.WIRED] = HeadsetState.DISCONNECTED;
      break;
    case HeadsetChangedEvent.WIRELESS_CONNECTED:
      headsetState[HeadsetType.WIRELESS] = HeadsetState.CONNECTED;
      break;
    case HeadsetChangedEvent.WIRELESS_DISCONNECTED:
      headsetState[HeadsetType.WIRELESS] = HeadsetState.DISCONNECTED;
      break;
  }
  setState(() {
  });
});

// Remove the Listener
headsetDetector.removeListener();

Screenshot

  • There are no connected headphones:

  • There are wired connected headphones:

  • There are Bluetooth connected headphones:

  • All types are connected:

所属分类

源码仓库

使用此插件的项目

暂无相关数据。