Skip to content

Commit 181c05a

Browse files
authored
Merge pull request #436 from GetStream/enhancement/make-audiorecorder-configurable
2 parents 030c0b6 + 78665ba commit 181c05a

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
33

44
# Upcoming
55

6+
### ✅ Added
7+
- Config the audioRecorder that is used when sending async voice messages.
8+
69
### 🔄 Changed
710

811
# [4.48.0](https://github.com/GetStream/stream-chat-swiftui/releases/tag/4.48.0)

Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerViewModel.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ open class MessageComposerViewModel: ObservableObject {
156156
public internal(set) var pendingAudioRecording: AddedVoiceRecording?
157157

158158
internal lazy var audioRecorder: AudioRecording = {
159-
let audioRecorder = StreamAudioRecorder()
159+
let audioRecorder = utils.audioRecorder
160160
audioRecorder.subscribe(self)
161161
return audioRecorder
162162
}()

Sources/StreamChatSwiftUI/Utils.swift

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,25 @@ public class Utils {
4040
}
4141
}
4242

43+
public var audioRecorderBuilder: () -> AudioRecording = { StreamAudioRecorder() }
44+
public var audioRecorder: AudioRecording {
45+
if let _audioRecorder {
46+
return _audioRecorder
47+
} else {
48+
let recorder = audioRecorderBuilder()
49+
_audioRecorder = recorder
50+
return recorder
51+
}
52+
}
53+
4354
public lazy var audioSessionFeedbackGenerator: AudioSessionFeedbackGenerator = StreamAudioSessionFeedbackGenerator()
4455

4556
var messageCachingUtils = MessageCachingUtils()
4657
var messageListDateUtils: MessageListDateUtils
4758
var channelControllerFactory = ChannelControllerFactory()
4859

4960
internal var _audioPlayer: AudioPlaying?
61+
internal var _audioRecorder: AudioRecording?
5062

5163
public init(
5264
dateFormatter: DateFormatter = .makeDefault(),

0 commit comments

Comments
 (0)