[flutter] 플러터에서 소리나 진동을 추가해 바코드 스캔 완료를 알리는 방법

바코드 스캔 기능은 많은 앱에서 자주 사용되며, 스캔이 완료되었을 때 알림을 주는 것은 사용자 경험을 향상시키는 중요한 요소입니다. 이번 블로그 글에서는 플러터(Flutter)에서 바코드 스캔이 완료되면 소리나 진동을 추가하여 사용자에게 스캔 완료를 알리는 방법에 대해 알아보겠습니다.

1. 소리 추가

스캔이 완료되었을 때 소리를 추가하기 위해서는 audioplayers 패키지를 사용할 수 있습니다. 먼저 pubspec.yaml 파일에 audioplayers 패키지를 추가합니다.

dependencies:
  flutter:
    sdk: flutter
  audioplayers: ^0.19.1

다음으로, 스캔이 완료되었을 때 소리를 재생하는 코드를 작성합니다.

import 'package:audioplayers/audio_cache.dart';

void playScanSound() {
  final player = AudioCache();
  player.play('scan_sound.mp3');
}

위 코드에서 playScanSound() 함수는 AudioCache() 클래스의 인스턴스를 생성하고, player.play() 함수를 사용하여 스캔 완료 사운드 파일인 scan_sound.mp3를 재생합니다. 미리 준비한 사운드 파일을 사용하거나, 직접 사운드 파일을 추가해 사용할 수 있습니다.

2. 진동 추가

스캔 완료 시 진동을 추가하기 위해서는 vibration 패키지를 사용할 수 있습니다. 먼저 pubspec.yaml 파일에 vibration 패키지를 추가합니다.

dependencies:
  flutter:
    sdk: flutter
  vibration: ^2.0.0

다음으로, 스캔이 완료되었을 때 진동을 울리는 코드를 작성합니다.

import 'package:vibration/vibration.dart';

void vibrateScanComplete() async {
  if (await Vibration.hasVibrator()) {
    Vibration.vibrate(duration: 1000);
  }
}

위 코드에서 vibrateScanComplete() 함수는 Vibration.hasVibrator() 함수로 기기에 진동 기능이 있는지 확인한 후, Vibration.vibrate() 함수를 사용하여 1초 동안 진동을 울립니다.

3. 바코드 스캔 완료 시 소리와 진동 사용하기

위에서 작성한 소리와 진동 코드를 바코드 스캔이 완료된 후 호출하는 방법은 다양합니다. 여기에서는 flutter_barcode_scanner 패키지를 사용한 예시를 보여드리겠습니다.

import 'package:flutter_barcode_scanner/flutter_barcode_scanner.dart';

void scanBarcode() async {
  String barcodeScanResult = await FlutterBarcodeScanner.scanBarcode("#FF0000", "Cancel", false, ScanMode.DEFAULT);

  if (barcodeScanResult != '-1') {
    playScanSound(); // 스캔 완료 사운드 재생
    vibrateScanComplete(); // 진동 울림
  }
}

위 코드에서 scanBarcode() 함수는 FlutterBarcodeScanner를 이용해 바코드를 스캔한 후, 스캔 결과가 -1이 아니면 스캔 완료 사운드를 재생하고 진동을 울립니다.

위의 예시는 flutter_barcode_scanner 패키지와 함께 소리와 진동을 추가하는 방법을 보여줍니다. 다른 바코드 스캔 패키지를 사용할 경우, 해당 패키지의 API를 참고하여 코드를 작성하면 됩니다.

플러터에서 소리와 진동을 추가하여 바코드 스캔 완료를 알리는 방법을 알아보았습니다. 사용자가 스캔이 완료되었을 때 시각적이고 청각적인 피드백을 받을 수 있어 사용자 경험을 향상시킬 수 있습니다.

참고 자료