فيما يلي مثال أساسي حول كيفية تنفيذ وظيفة تسجيل المكالمات في تطبيق Flutter:
import 'package:flutter/material.dart';
import 'package:audio_session/audio_session.dart';
import 'package:record_mp3/recorder.mp3.dart';
class CallRecorder extends StatefulWidget {
@override
_CallRecorderState createState() => _CallRecorderState();
}
class _CallRecorderState extends State<CallRecorder> {
bool _isRecording = false;
final _audioSession = AudioSession.instance;
void _startStopRecording() async {
if (_isRecording) {
await _stopRecording();
} else {
await _startRecording();
}
setState(() => _isRecording = !_isRecording);
}
Future<void> _startRecording() async {
final recorder = await RecorderMp3.start(
outputDirectory: 'path_to_your_directory',
format: Format.mp3,
);
await recorder.start();
}
Future<void> _stopRecording() async {
final recorder = await RecorderMp3.stop();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Call Recorder'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
_isRecording
? ElevatedButton(
onPressed: () => _startStopRecording(),
child: Text('Stop Recording'),
)
: ElevatedButton(
onPressed: () => _startStopRecording(),
child: Text('Start Recording'),
),
],
),
),
);
}
}
هذا الكود يُسجِّل الصوت ويحفظه في ملف في المجلد المُحدَّد. يُرجى العلم أن هذا الكود يتطلب أذونات لتسجيل الصوت، وقد تختلف هذه الأذونات باختلاف نظام التشغيل (أندرويد أو iOS).