feat: Add advanced configuration page

This commit is contained in:
Krille 2025-03-05 19:01:34 +01:00
commit 730fb22be3
No known key found for this signature in database
GPG key ID: E067ECD60F1A0652
5 changed files with 177 additions and 9 deletions

View file

@ -11,7 +11,9 @@ import 'package:record/record.dart';
import 'package:wakelock_plus/wakelock_plus.dart';
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/config/setting_keys.dart';
import 'package:fluffychat/utils/platform_infos.dart';
import 'package:fluffychat/widgets/matrix.dart';
import 'events/audio_player.dart';
class RecordingDialog extends StatefulWidget {
@ -34,10 +36,8 @@ class RecordingDialogState extends State<RecordingDialog> {
String? fileName;
static const int bitRate = 64000;
static const int samplingRate = 44100;
Future<void> startRecording() async {
final store = Matrix.of(context).store;
try {
final codec = kIsWeb
// Web seems to create webm instead of ogg when using opus encoder
@ -64,12 +64,12 @@ class RecordingDialogState extends State<RecordingDialog> {
await _audioRecorder.start(
RecordConfig(
bitRate: bitRate,
sampleRate: samplingRate,
numChannels: 1,
autoGain: true,
echoCancel: true,
noiseSuppress: true,
bitRate: AppSettings.audioRecordingBitRate.getItem(store),
sampleRate: AppSettings.audioRecordingSamplingRate.getItem(store),
numChannels: AppSettings.audioRecordingNumChannels.getItem(store),
autoGain: AppSettings.audioRecordingAutoGain.getItem(store),
echoCancel: AppSettings.audioRecordingEchoCancel.getItem(store),
noiseSuppress: AppSettings.audioRecordingNoiseSuppress.getItem(store),
encoder: codec,
),
path: path ?? '',