8

我的目标:

  • 允许用户向消息发送(或附加)视频剪辑
  • 允许接收者在接收到视频时读取(不播放)视频
  • 不使用额外的服务器来托管这些消息或视频。换句话说,我希望一切都在消息扩展框架内完成。

我试过了:

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?
  • 或者有没有其他方法可以做我想做的事?
4

0 回答 0