Flutter显示器EDID信息获取插件eyedid_flutter的使用
Flutter显示器EDID信息获取插件eyedid_flutter的使用
标题
Eyedid_flutter
内容
Eyedid SDK Flutter插件项目。
Eyedid SDK 是一个眼动追踪库,通过实时计算屏幕上的用户注视点位置来实现。所有计算都在设备本地进行。
开始使用
- 安装
- 检查开发密钥。
- 创建新的Flutter项目:
flutter create --platforms android,ios sample_app
- 将
eyedid_flutter
添加到sample_app
的的pubspec.yaml
文件中:dependencies: flutter: sdk: flutter eyedid_flutter: 1.0.0
- 从终端安装 pub 包:
flutter pub get
2 Android
- 在
build.gradle
文件中添加 Maven 仓库 URL:allprojects { repositories { ... maven { url "https://seeso.jfrog.io/artifactory/visualcamp-eyedid-sdk-android-release" } } }
- 在
app/build.gradle
文件中添加以下依赖项:dependencies { ... implementation "camp.visual.eyedid.android.gazetracker:eyedid-gazetracker:{version}" }
-
环境设置(iOS)
- 向 Info.plist 文件添加权限:
<key>NSCameraUsageDescription</key> <string></string>
- 在 Podfile 中添加
PERMISSION_CAMERA=1
:target.build_configurations.each do |config| config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [ '$(inherited)', ... 'PERMISSION_CAMERA=1' ] end
- 从终端安装 pod:
pod install
- 向 Info.plist 文件添加权限:
-
获取许可证密钥 Eyedid SDK 需要许可证密钥才能运行。可以从 manage.eyedid.ai 获取密钥。
-
如何使用
- 添加代码检查相机权限:
Future<void> checkCameraPermission() async { _hasCameraPermission = await _eyedidFlutterPlugin.checkCameraPermission(); }
- 添加请求相机权限的函数:
Future<void> checkCameraPermission() async { _hasCameraPermission = await _eyedidFlutterPlugin.checkCameraPermission(); if (!_hasCameraPermission) { _hasCameraPermission = await _eyedidFlutterPlugin.requestCameraPermission(); } }
- 当通过用户获得相机权限后,通过调用
initGazeTracker
函数开始认证:Future<void> initSeeSo() async { await checkCameraPermission(); String requestInitGazeTracker = "failed Request"; if (_hasCameraPermission) { try { InitializedResult? initializedResult = await _eyedidFlutterPlugin.initGazeTracker(licenseKey: _licenseKey); } on PlatformException catch (e) { print("Occur PlatformException (${e.message})"); } } }
- 认证成功后,开始眼动追踪:
if (initializedResult!.result) { try { _eyedidFlutterPlugin.startTracking(); } on PlatformException catch (e) { print("Occur PlatformException (${e.message})"); } }
- 设置监听器接收 MetricsInfo:
_eyedidFlutterPlugin.getTrackingEvent().listen((event) { final info = MetricsInfo(event); if (info.gazeInfo.trackingState == TrackingState.success) { setState(() { _x = info.gazeInfo.gaze.x; _y = info.gazeInfo.gaze.y; _gazeColor = Colors.green; }); } else { setState(() { _gazeColor = Colors.red; }); } });
- 添加代码检查相机权限:
API
联系我们
如果您有任何问题,请随时联系 development@eyedid.ai
版权声明
版权所有 © VisualCamp。保留所有权利。
示例代码
更多关于Flutter显示器EDID信息获取插件eyedid_flutter的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter显示器EDID信息获取插件eyedid_flutter的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,下面是一个关于如何在Flutter应用中使用eyedid_flutter
插件来获取显示器EDID(Extended Display Identification Data)信息的代码示例。eyedid_flutter
插件允许你访问连接到设备的显示器的EDID信息,这在处理显示设置和调试时非常有用。
首先,确保你已经在pubspec.yaml
文件中添加了eyedid_flutter
依赖:
dependencies:
flutter:
sdk: flutter
eyedid_flutter: ^最新版本号 # 请替换为实际最新版本号
然后,运行flutter pub get
来安装依赖。
接下来,在你的Flutter应用中,你可以按照以下步骤使用eyedid_flutter
插件:
- 导入插件:
在你的Dart文件中导入eyedid_flutter
插件:
import 'package:eyedid_flutter/eyedid_flutter.dart';
- 请求并获取EDID信息:
下面是一个简单的示例,展示如何使用eyedid_flutter
插件来获取EDID信息,并在UI中显示:
import 'package:flutter/material.dart';
import 'package:eyedid_flutter/eyedid_flutter.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
String edidInfo = "";
@override
void initState() {
super.initState();
_getEDIDInfo();
}
Future<void> _getEDIDInfo() async {
try {
// 获取EDID信息
String edidData = await EyedidFlutter.getEDID();
setState(() {
edidInfo = edidData;
});
} catch (e) {
setState(() {
edidInfo = "Error: ${e.message}";
});
}
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('EDID Info'),
),
body: Center(
child: Text(edidInfo),
),
),
);
}
}
在这个示例中,_getEDIDInfo
函数使用EyedidFlutter.getEDID()
方法来获取显示器的EDID信息,并将其存储在edidInfo
字符串中。然后,通过调用setState()
方法更新UI,以显示获取到的EDID信息或错误信息。
请注意,由于获取EDID信息可能需要特定的硬件支持和权限,因此在实际应用中,你可能需要根据设备的具体情况和操作系统的权限要求进行适当的调整。此外,如果EyedidFlutter.getEDID()
方法在某些设备上不可用或返回错误,请确保检查错误消息并进行适当的错误处理。
希望这个示例能帮助你理解如何在Flutter应用中使用eyedid_flutter
插件来获取显示器的EDID信息。