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
@@ -48,7 +48,6 @@ class MediaPlayerProvider: MediaPlayerProviderProtocol {
return audioPlayerStates[audioPlayerStateID]
}
@MainActor
func register(audioPlayerState: AudioPlayerState) {
guard let audioPlayerStateID = audioPlayerStateID(for: audioPlayerState.id) else {
MXLog.error("Failed to build a key to register this audioPlayerState: \(audioPlayerState)")
@@ -57,7 +56,6 @@ class MediaPlayerProvider: MediaPlayerProviderProtocol {
audioPlayerStates[audioPlayerStateID] = audioPlayerState
}
@MainActor
func unregister(audioPlayerState: AudioPlayerState) {
guard let audioPlayerStateID = audioPlayerStateID(for: audioPlayerState.id) else {
MXLog.error("Failed to build a key to register this audioPlayerState: \(audioPlayerState)")
@@ -66,12 +64,12 @@ class MediaPlayerProvider: MediaPlayerProviderProtocol {
audioPlayerStates[audioPlayerStateID] = nil
}
func detachAllStates(except exception: AudioPlayerState?) async {
func detachAllStates(except exception: AudioPlayerState?) {
for key in audioPlayerStates.keys {
if let exception, key == audioPlayerStateID(for: exception.id) {
continue
}
await audioPlayerStates[key]?.detachAudioPlayer()
audioPlayerStates[key]?.detachAudioPlayer()
}
}