import 'package:audioplayers/audioplayers.dart'; import 'package:pad_scanner/services/app_config_service.dart'; class SoundService { static const _keySuccess = 'sound_success'; static const _keyFailure = 'sound_failure'; final _player = AudioPlayer(); final _configService = AppConfigService(); Future getSuccessPath() async { return _configService.getString(_keySuccess); } Future getFailurePath() async { return _configService.getString(_keyFailure); } Future setSuccessPath(String? path) async { if (path != null) { await _configService.setString(_keySuccess, path); } else { final config = await _configService.loadConfig(); config.remove(_keySuccess); } } Future setFailurePath(String? path) async { if (path != null) { await _configService.setString(_keyFailure, path); } else { final config = await _configService.loadConfig(); config.remove(_keyFailure); } } Future playSuccess() async { final path = await getSuccessPath(); if (path != null) { await _player.play(DeviceFileSource(path)); } } Future playFailure() async { final path = await getFailurePath(); if (path != null) { await _player.play(DeviceFileSource(path)); } } Future play(String path) async { await _player.play(DeviceFileSource(path)); } Future dispose() async { await _player.dispose(); } }