diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt index f44f3cf38..67b834e10 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt @@ -1156,6 +1156,9 @@ class ChatController(args: Bundle) : setOutputFile(file) setOutputFormat(MediaRecorder.OutputFormat.MPEG_4) setAudioEncoder(MediaRecorder.AudioEncoder.AAC) + setAudioSamplingRate(VOICE_MESSAGE_SAMPLING_RATE) + setAudioEncodingBitRate(VOICE_MESSAGE_ENCODING_BIT_RATE) + setAudioChannels(VOICE_MESSAGE_CHANNELS) try { prepare() @@ -3412,6 +3415,11 @@ class ChatController(args: Bundle) : private const val VOICE_RECORD_CANCEL_SLIDER_X: Int = -50 private const val VOICE_MESSAGE_META_DATA = "{\"messageType\":\"voice-message\"}" private const val VOICE_MESSAGE_FILE_SUFFIX = ".mp3" + // Samplingrate 22050 was chosen because somehow 44100 failed to playback on safari when recorded on android. + // Please test with firefox, chrome, safari and mobile clients if changing anything regarding the sound. + private const val VOICE_MESSAGE_SAMPLING_RATE = 22050 + private const val VOICE_MESSAGE_ENCODING_BIT_RATE = 32000 + private const val VOICE_MESSAGE_CHANNELS = 1 private const val FILE_DATE_PATTERN = "yyyy-MM-dd HH-mm-ss" private const val VIDEO_SUFFIX = ".mp4" private const val SHORT_VIBRATE: Long = 20