패키지, 저장소 및 앱 카테고리 검색

패키지 상세v1.0.1

flutter_sensors

기기의 사용 가능한 센서에 액세스하는 데 사용할 수 있는 플러터 플러그인입니다.

AndroidiOS
30일 다운로드
124
좋아요
43
Pub 점수
130

패키지 설치

flutter pub add flutter_sensors

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

flutter_sensors는 가속도계, 자이로스코프, 자력계와 같은 디바이스 내장 센서에 접근할 수 있는 Flutter 플러그인입니다. 이는 Android 및 iOS 기기에서 실시간 움직임과 방향 데이터를 수집할 수 있게 해줍니다. 플러그인은 센서 이벤트를 듣기 위한 간단하고 일관된 API를 제공하여 움직임 추적 또는 기기의 움직임을 기반으로 한 상호작용 경험을 필요로 하는 애플리케이션에 적합합니다. Flutter의 반응형 프레임워크와 원활하게 통합되어 센서 스트림을 효율적으로 처리할 수 있습니다.

사용 사례

  • 모션 기반 게임 컨트롤
  • 피트니스 및 활동 추적
  • 증강현실 애플리케이션
  • 기기 방향 감지
  • 인터랙티브 UI 요소

주요 기능

  • 실시간 센서 데이터 스트리밍
  • 가속도계, 자이로스코프 및 자기계 센서 지원
  • 크로스 플랫폼 호환성 (Android 및 iOS)
  • 반응형 프로그래밍을 위한 스트림 기반 API
  • 간단한 이벤트 기반 인터페이스

적합한 대상

  • 모션 감지 앱을 개발하는 개발자
  • 기기 방향 인식이 필요한 앱
  • 상호작용적이고 몰입감 있는 사용자 경험
  • 웨어러블 및 피트니스 기술 통합

고려 사항

  • Android에서 적절한 권한이 필요합니다
  • 지속적인 센서 풀링 시 배터리 사용량이 증가할 수 있습니다
  • 데이터 정확성은 장치 하드웨어에 달려 있습니다
  • 고정밀 산업용 응용 분야에 적합하지 않습니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

native_video_view

A video player widget displayed using the platform native player (VideoView in Android and AVPlayer in iOS).

example_gif

Disclaimer

This plugin uses VideoView because in some devices the ExoPlayer plugin is not working correctly (due to decoders or something) and VideoView is a reasonable alternative. In iOS is sorta similar to Google's video_player so you should use their plugin if you want a player for iOS only.

Installation

First you need to add the dependency in your pubspec.yaml.

native_video_view: ^0.3.0

Then import the plugin in the .dart file you want to use it.

import 'package:native_video_view/native_video_view.dart';
Android

You need to add the necessary permissions to play the videos. If you are playing videos from the internet, you need to add the internet permissions in your AndroidManifest.xml located in the android folder in your project.

<uses-permission android:name="android.permission.INTERNET" />

If you are going to play videos from the device storage, you need to add the storage permissions.

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
iOS

In this platform you need to configure some options in your Info.plist file. This file is located in <project-root>/ios/Runner/ Info.plist.

First add the embedded views configuration.

<key>io.flutter.embedded_views_preview</key>
<true/>

If you want to play videos from the internet add the following.

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSAllowsArbitraryLoads</key>
  <true/>
</dict>

Usage

This plugin has a widget to use in your dart files. Example:

@override
Widget build(BuildContext context) {
return Scaffold(
    appBar: AppBar(
    title: const Text('Plugin example app'),
    ),
    body: Container(
    alignment: Alignment.center,
    child: NativeVideoView(
        keepAspectRatio: true,
        showMediaController: true,
        onCreated: (controller) {
          controller.setVideoSource(
            'assets/example.mp4',
            sourceType: VideoSourceType.asset,
          );
        },
        onPrepared: (controller, info) {
          controller.play();
        },
        onError: (controller, what, extra, message) {
          print('Player Error ($what | $extra | $message)');
        },
        onCompletion: (controller) {
          print('Video completed');
        },
        onProgress: (progress, duration) {
          print('$progress | $duration');
        },
      ),
    ),
  );
}

keepAspectRatio: Wraps the video player in a AspectRatio widget. The aspect ratio is calculated once the video is loaded. By default the aspect ratio is 4/3.

showMediaController: Shows a default media controller overlay in the video player widget.

enableVolumeControl: Adds an option in the MediaController to control the volume of the playback.

useExoPlayer: Use ExoPlayer as the underlying player. Android Only.

autoHide: Automatically hides the media controller after a few seconds of no use. Default is true.

autoHideTime: The time after which the controller is hidden. Default is 2 seconds.

onCreated: (required) Callback called when the PlatformView is finished creating.

onPrepared: (required) Callback called when the player has finished loading the video.

onCompletion: (required) Callback called when the video reached the end.

onError: Callback called if an error occurs in the player.

onProgress: Callback used to notify progress in the video playback.

AudioFocus

To make the player get the audio focus of the system you just have to use the setting requestAudioFocus when setting the video source. See the example below.

@override
Widget build(BuildContext context) {
    return NativeVideoView(
       onCreated: (controller) {
         controller.setVideoSource(
             'assets/example.mp4',
             requestAudioFocus: true,
             sourceType: VideoSourceType.asset,
         );
       },
    );
}

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트