新增录音方法(待验证)

This commit is contained in:
Daisy 2023-12-21 10:18:02 +08:00
parent 962c7cfded
commit ca3e9a62c7
2 changed files with 47 additions and 14167 deletions

View File

@ -1,11 +1,9 @@
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_sound/flutter_sound.dart';
import 'package:get/get.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
import 'lockMonitoring_logic.dart';
@ -20,6 +18,17 @@ class _LockMonitoringPageState extends State<LockMonitoringPage> {
final logic = Get.put(LockMonitoringLogic());
final state = Get.find<LockMonitoringLogic>().state;
late FlutterSoundRecorder recorder;
late FlutterSoundPlayer player;
late String filePath;
@override
void initState() {
super.initState();
_initRecorder();
}
@override
Widget build(BuildContext context) {
return SizedBox(
@ -31,6 +40,7 @@ class _LockMonitoringPageState extends State<LockMonitoringPage> {
? Container(color: Colors.transparent)
: Image.memory(
state.listData.value,
// key: ValueKey<int>(state.listData.value.hashCode),
gaplessPlayback: true,
width: 1.sw,
height: 1.sh,
@ -177,4 +187,37 @@ class _LockMonitoringPageState extends State<LockMonitoringPage> {
)),
);
}
//
_initRecorder() {
recorder = FlutterSoundRecorder();
}
//
_startRecording() async {
filePath = 'your_output_file.wav';
await recorder.startRecorder(
toFile: filePath,
codec: Codec.pcm16WAV,
);
}
//
_stopRecording() async {
await recorder.stopRecorder();
}
//
_playRecording() async {
player = FlutterSoundPlayer();
await player.startPlayer(
fromURI: filePath,
codec: Codec.pcm16WAV,
);
}
//
_stopPlaying() async {
await player.stopPlayer();
}
}