wildfire-im-sdk
Version:
野火IM SDK for Vue3 projects
48 lines (41 loc) • 1.34 kB
JavaScript
/*
* Copyright (c) 2020 WildFireChat. All rights reserved.
*/
import MediaMessageContent from './mediaMessageContent'
import MessageContentMediaType from './messageContentMediaType';
import MessageContentType from './messageContentType';
export default class VideoMessageContent extends MediaMessageContent {
// base64 encoded
thumbnail;
duration;
constructor(fileOrLocalPath, remotePath, thumbnail, duration = 0) {
super(MessageContentType.Video, MessageContentMediaType.Video, fileOrLocalPath, remotePath);
this.thumbnail = thumbnail;
this.duration = duration;
}
digest() {
return '[视频]';
}
encode() {
let payload = super.encode();
payload.binaryContent = this.thumbnail;
let obj = {
d: this.duration,
duration: this.duration
}
payload.content = JSON.stringify(obj);
payload.mediaType = MessageContentMediaType.Video;
return payload;
}
decode(payload) {
super.decode(payload);
this.thumbnail = payload.binaryContent;
if (payload.content) {
let obj = JSON.parse(payload.content)
this.duration = obj.d;
if (this.duration === undefined) {
this.duration = obj.duration;
}
}
}
}