パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v4.1.0

headset_connection_event

ヘッドセットイベント用のFlutterプラグイン。ヘッドセットが差し込まれたか、外されたかを検出します。現在のヘッドセット状態を取得します。

AndroidiOS
30日間ダウンロード
2190
いいね数
28
Pub ポイント
145

パッケージをインストール

flutter pub add headset_connection_event

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

AndroidおよびiOSデバイスでヘッドセットが差し込まれたか、外されたかを検出するFlutterプラグインです。リアルタイムで現在のヘッドセット接続状態を更新し、アプリがオーディオアクセサリの変更に動的に対応できるようにします。メディアプレーヤーや音声アプリ、またはオーディオ出力構成を把握する必要があるすべてのアプリに最適です。プラグインは、プラットフォームチャネルを通じてネイティブデバイスAPIとシームレスに統合されます。

用途

  • メディアプレーヤー音声ルーティング
  • 音声アシスタント入力切り替え
  • リアルタイムオーディオデバイスモニタリング
  • ヘッドセットの存在に基づくユーザーエクスペリエンスの適応
  • アクセシビリティ機能のトリガー

主な機能

  • リアルタイムのヘッドセットの差し込み/抜き差し検出
  • クロスプラットフォーム対応(Android および iOS)
  • シンプルなイベントストリーム API
  • 現在の状態の取得
  • 軽量で最小限の依存関係

適している対象

  • オーディオ中心のアプリケーション
  • ハードウェア操作を必要とするモバイルアプリ
  • オーディオデバイスの変更に応じて反応するUIを必要とするアプリ
  • アクセシビリティツールを開発する開発者
  • Android および iOS をターゲットとする Flutter プロジェクト

注意事項

  • Android で適切な権限が必要です
  • ヘッドセット接続イベントのみに制限
  • 基本的な検出を超えるBluetoothヘッドセットのサポートなし
  • 一部のプラットフォームでは、バックグラウンド実行の処理が必要になる場合があります
  • ネイティブプラットフォーム機能に依存する

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

Headset Connection Event Flutter Plugin

A Flutter plugin to get a headset event.

Flutter

This is a clone of headset_event, but with fix on swift errors and bluetooth connection events for Android and iOS

Migrated to AndroidX

Current Status

Platform Physical Headset Bluetooth
iOS ✅ ✅
Android ✅ ✅

Usage

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

Example
    // Import package
    import 'package:headset_connection_event/headset_event.dart';

    // Instantiate it
    HeadsetEvent headsetPlugin = new HeadsetEvent();
    HeadsetState headsetEvent;

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

    /// Detect the moment headset is plugged or unplugged
    headsetPlugin.setListener((_val) {
      setState(() {
        headsetEvent = _val;
      });
    });
Android setup

Update compileSdkVersion to 33 in your build.properties under app directory

Make the following changes to your project's main AndroidManifest.xml file:

<activity...
 <!-- ADD THIS BELOW "ACTIVITY" -->
 android:exported="true"





    <!-- ADD THIS "RECEIVER" Element Before </application> -->
  <receiver android:name="flutter.moum.headset_event.HeadsetBroadcastReceiver"
        android:exported="true">
           <intent-filter>
               <action android:name="android.intent.action.HEADSET_PLUG" />
               <action android:name="android.intent.action.MEDIA_BUTTON" />
           </intent-filter>
       </receiver>


  </application>
</manifest>

Please see example project AndroidManifest.xml for more information.

Android 12 requires bluetoothConnect permission. You may request it using the permission_handler:

Add permission in your manifest

<uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
import 'package:permission_handler/permission_handler.dart';

Future<bool> requestPermission() async {
  if (!Platform.isAndroid) return true;
  return Permission.bluetoothConnect.request().isGranted;
}

カテゴリー

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。