Fix playback and recording of voice messages (#1948)

This commit is contained in:
Nicolas Mauri
2023-10-24 18:49:42 +02:00
committed by GitHub
parent 37f1a79a11
commit f9ad44f96a
10 changed files with 115 additions and 55 deletions
@@ -68,14 +68,14 @@ class VoiceMessageRecorder: VoiceMessageRecorderProtocol {
func cancelRecording() async {
await audioRecorder.stopRecording()
audioRecorder.deleteRecording()
await audioRecorder.deleteRecording()
recordingURL = nil
previewAudioPlayerState = nil
}
func deleteRecording() async {
await stopPlayback()
audioRecorder.deleteRecording()
await audioRecorder.deleteRecording()
previewAudioPlayerState = nil
recordingURL = nil
}
@@ -189,7 +189,7 @@ class VoiceMessageRecorder: VoiceMessageRecorderProtocol {
// Build the preview audio player
let mediaSource = MediaSourceProxy(url: url, mimeType: mp4accMimeType)
guard case .success(let mediaPlayer) = mediaPlayerProvider.player(for: mediaSource), let audioPlayer = mediaPlayer as? AudioPlayerProtocol else {
guard case .success(let mediaPlayer) = await mediaPlayerProvider.player(for: mediaSource), let audioPlayer = mediaPlayer as? AudioPlayerProtocol else {
return .failure(.previewNotAvailable)
}
previewAudioPlayer = audioPlayer