mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-25 19:10:49 +02:00
Add voice broadcast slider (#7010)
This commit is contained in:
@@ -27,20 +27,25 @@ struct VoiceBroadcastBuilder {
|
||||
|
||||
var voiceBroadcast = VoiceBroadcast()
|
||||
|
||||
voiceBroadcast.chunks = Set(events.compactMap { event in
|
||||
let chunks = Set(events.compactMap { event in
|
||||
buildChunk(event: event, mediaManager: mediaManager, voiceBroadcastStartEventId: voiceBroadcastStartEventId)
|
||||
})
|
||||
|
||||
voiceBroadcast.chunks = chunks
|
||||
voiceBroadcast.duration = chunks.reduce(0) { $0 + $1.duration}
|
||||
|
||||
return voiceBroadcast
|
||||
}
|
||||
|
||||
func buildChunk(event: MXEvent, mediaManager: MXMediaManager, voiceBroadcastStartEventId: String) -> VoiceBroadcastChunk? {
|
||||
guard let attachment = MXKAttachment(event: event, andMediaManager: mediaManager),
|
||||
let chunkInfo = event.content[VoiceBroadcastSettings.voiceBroadcastContentKeyChunkType] as? [String: UInt],
|
||||
let sequence = chunkInfo[VoiceBroadcastSettings.voiceBroadcastContentKeyChunkSequence] else {
|
||||
let sequence = chunkInfo[VoiceBroadcastSettings.voiceBroadcastContentKeyChunkSequence],
|
||||
let audio = event.content[kMXMessageContentKeyExtensibleAudioMSC1767] as? [String: UInt],
|
||||
let duration = audio[kMXMessageContentKeyExtensibleAudioDuration] else {
|
||||
return nil
|
||||
}
|
||||
|
||||
return VoiceBroadcastChunk(voiceBroadcastInfoEventId: voiceBroadcastStartEventId, sequence: sequence, attachment: attachment)
|
||||
return VoiceBroadcastChunk(voiceBroadcastInfoEventId: voiceBroadcastStartEventId, sequence: sequence, attachment: attachment, duration: duration)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user