新增录音方法(待验证)
This commit is contained in:
parent
962c7cfded
commit
ca3e9a62c7
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user