fix: Audiomessages on iOS

This commit is contained in:
Krille 2023-10-29 17:48:18 +01:00
parent 3a9c6e8773
commit b96bc4565d
No known key found for this signature in database
2 changed files with 5 additions and 2 deletions

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Scheme <Scheme
LastUpgradeVersion = "1300" LastUpgradeVersion = "1430"
version = "1.3"> version = "1.3">
<BuildAction <BuildAction
parallelizeBuildables = "YES" parallelizeBuildables = "YES"

View file

@ -4,6 +4,7 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:record/record.dart'; import 'package:record/record.dart';
import 'package:wakelock_plus/wakelock_plus.dart'; import 'package:wakelock_plus/wakelock_plus.dart';
@ -30,7 +31,8 @@ class RecordingDialogState extends State<RecordingDialog> {
final _audioRecorder = AudioRecorder(); final _audioRecorder = AudioRecorder();
final List<double> amplitudeTimeline = []; final List<double> amplitudeTimeline = [];
static const int bitRate = 16000; static const int bitRate =
64000; // Lower makes the audio messages unplayable on iOS for some reason
Future<void> startRecording() async { Future<void> startRecording() async {
try { try {
@ -46,6 +48,7 @@ class RecordingDialogState extends State<RecordingDialog> {
final path = _recordedPath = final path = _recordedPath =
'${tempDir.path}/recording${DateTime.now().microsecondsSinceEpoch}.$fileExtension'; '${tempDir.path}/recording${DateTime.now().microsecondsSinceEpoch}.$fileExtension';
Logs().v('Store audio file at', path);
final result = await _audioRecorder.hasPermission(); final result = await _audioRecorder.hasPermission();
if (result != true) { if (result != true) {
setState(() => error = true); setState(() => error = true);