Skip to content

Commit 1d948e5

Browse files
committed
Make AudioRecorder configurable
1 parent 030c0b6 commit 1d948e5

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

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 & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,25 @@ public class Utils {
3939
return player
4040
}
4141
}
42-
42+
public var audioRecorderBuilder: () -> AudioRecording = { StreamAudioRecorder() }
43+
public var audioRecorder: AudioRecording {
44+
if let _audioRecorder {
45+
return _audioRecorder
46+
} else {
47+
let recorder = audioRecorderBuilder()
48+
_audioRecorder = recorder
49+
return recorder
50+
}
51+
}
52+
4353
public lazy var audioSessionFeedbackGenerator: AudioSessionFeedbackGenerator = StreamAudioSessionFeedbackGenerator()
4454

4555
var messageCachingUtils = MessageCachingUtils()
4656
var messageListDateUtils: MessageListDateUtils
4757
var channelControllerFactory = ChannelControllerFactory()
4858

4959
internal var _audioPlayer: AudioPlaying?
60+
internal var _audioRecorder: AudioRecording?
5061

5162
public init(
5263
dateFormatter: DateFormatter = .makeDefault(),

0 commit comments

Comments
 (0)