我的目标:
- 允许用户向消息发送(或附加)视频剪辑
- 允许接收者在接收到视频时读取(不播放)视频
- 不使用额外的服务器来托管这些消息或视频。换句话说,我希望一切都在消息扩展框架内完成。
我试过了:
1)使用MSMessage:
private func insertVideoIntoMessage(usingUrl url: URL) {
if let conversation = self.activeConversation {
let layout = MSMessageTemplateLayout()
layout.caption = "Some caption"
layout.mediaFileURL = url // Media file (video)
let message = MSMessage()
message.layout = layout
message.url = URL(string: "some url")
conversation.insert(message, completionHandler: { error in
if let error = error {
print("Error:", error)
}
})
}
}
我想让接收器读取媒体文件(视频)。然而,这似乎是不可能的。
override func didSelect(_ message: MSMessage, conversation: MSConversation) {
// message doesn't seem to contain any media content
}
2) 使用附件:
private func insertVideoInMessage(usingUrl url: URL) {
if let conversation = self.activeConversation {
conversation.insertAttachment(url, withAlternateFilename: "Some file name", completionHandler: { error in
if let error = error {
print("Error:", error)
}
})
}
这样附件(视频)就被系统默认的App打开了。这意味着我的应用无法读取视频。
问题:
- 是否可以让接收方读取发送方发送的视频?
- 是否可以同时插入附件并插入 MSMessage?
- 或者有没有其他方法可以做我想做的事?