簡體   English   中英

使用Quickblox SDK 2.17以附件形式發送視頻

[英]Send Video as Attachment with Quickblox SDK 2.17

我嘗試了來自各種鏈接的代碼,但是使用最新的SDK似乎無濟於事。 我正在嘗試以下代碼:

let message = QBChatMessage()
message.senderID = (self.senderID)
message.dialogID = self.chatDialogModel.id
message.dateSent = Date()
message.readIDs = [NSNumber.init(value: (self.senderID))]
message.deliveredIDs = [NSNumber.init(value: (self.senderID))]

let aURL = Bundle.main.url(forResource: "testVideo", withExtension:"mp4")
let aData = try! Data(contentsOf: aURL!)

QBRequest.tUploadFile(aData, fileName: "Attachment Video", 
                     contentType:"video/mp4", 
                     isPublic: true, successBlock: { (qbResponse, qbBlob) in

   let attachment : QBChatAttachment = QBChatAttachment()
    attachment.type = "video"
    attachment.id = qbBlob.uid
    attachment.url = qbBlob.publicUrl()
    message.attachments = [attachment]
    message.text = "Attachment video"

    self.chatDataSource.add(message)


ServicesManager.instance().chatService.sendAttachmentMessage(message, to: (self.chatDialogModel)!, with: attachment, completion: { [weak self] (error) -> Void in


  self?.attachmentCellsMap.removeObject(forKey: message.id as AnyObject?)
  guard error != nil else { return }
  self?.chatDataSource.delete(message)

 })

}, statusBlock: nil) { (error) in

}

我想出了一個解決方案:

首先編寫用於從照片庫獲取本地視頻文件URL的代碼。 擁有url后,調用此函數。

func sendVideoAsAttachment(_ url : URL){

    let message = QBChatMessage()
    message.senderID = (self.senderID)
    message.dialogID = self.chatDialogModel.id
    message.dateSent = Date()

    let attachment = QBChatAttachment.videoAttachment(withFileURL: url)
    self.chatDataSource.add(message)

    ServicesManager.instance().chatService.sendAttachmentMessage(message, to: self.chatDialogModel, with: attachment, completion: { (error) in

        self.attachmentCellsMap.removeObject(forKey: message.id as AnyObject?)
        guard error != nil else { return }
        self.chatDataSource.delete(message)
    })
}

這會將視頻作為附件發送。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM