117 lines
2.7 KiB
JavaScript
117 lines
2.7 KiB
JavaScript
const __templateJs = require("./templates.js");
|
|
const __mergePageOptions = require("../../util/mergePageOptions.js");
|
|
function getRandomColor() {
|
|
const rgb = [];
|
|
for (let i = 0; i < 3; ++i) {
|
|
let color = Math.floor(Math.random() * 256).toString(16);
|
|
color = color.length === 1 ? `0${color}` : color;
|
|
rgb.push(color);
|
|
}
|
|
return `#${rgb.join('')}`;
|
|
}
|
|
Page(__mergePageOptions({
|
|
onShareAppMessage() {
|
|
return {
|
|
title: 'video',
|
|
path: 'page/component/pages/video/video'
|
|
};
|
|
},
|
|
onReady() {
|
|
this.videoContext = xhs.createVideoContext('myVideo');
|
|
},
|
|
inputValue: '',
|
|
data: {
|
|
enableAutoRotation: true,
|
|
src: '',
|
|
danmuList: [{
|
|
text: '第 1s 出现的弹幕',
|
|
color: '#ff0000',
|
|
time: 1
|
|
}, {
|
|
text: '第 3s 出现的弹幕',
|
|
color: '#ff00ff',
|
|
time: 3
|
|
}],
|
|
height: 200,
|
|
showMute: false
|
|
},
|
|
bindInputBlur(e) {
|
|
this.inputValue = e.detail.value;
|
|
},
|
|
bindButtonTap() {
|
|
const that = this;
|
|
xhs.chooseVideo({
|
|
sourceType: ['album', 'camera'],
|
|
maxDuration: 60,
|
|
camera: ['front', 'back'],
|
|
success(res) {
|
|
that.setData({
|
|
src: res.tempFilePath
|
|
});
|
|
}
|
|
});
|
|
},
|
|
bindVideoEnterPictureInPicture() {
|
|
console.log('进入小窗模式');
|
|
},
|
|
bindVideoLeavePictureInPicture() {
|
|
console.log('退出小窗模式');
|
|
},
|
|
bindVideoPlay() {
|
|
this.videoContext.play();
|
|
},
|
|
bindVideoPause() {
|
|
this.videoContext.pause();
|
|
},
|
|
bindVideoStop() {
|
|
this.videoContext.stop();
|
|
},
|
|
bindVideoSeek() {
|
|
this.videoContext.seek(10);
|
|
},
|
|
bindVideoSendDanmu() {
|
|
this.videoContext.sendDanmu({
|
|
text: '小红书小程序',
|
|
color: getRandomColor(),
|
|
time: 12
|
|
});
|
|
},
|
|
videoErrorCallback(e) {
|
|
console.log('视频错误信息:');
|
|
console.log(e.detail.errMsg);
|
|
},
|
|
handleSwitchChange(e) {
|
|
this.setData({
|
|
enableAutoRotation: e.detail.value
|
|
});
|
|
},
|
|
handleVideoEnd() {
|
|
console.log('----------lemon video end');
|
|
},
|
|
handleVideoTimeUpdate() {
|
|
console.log('----------lemon video time update');
|
|
},
|
|
handFullscreen() {
|
|
console.log('----------lemon video full screen');
|
|
},
|
|
handleWaiting() {
|
|
console.log('----------lemon video handleWaiting');
|
|
},
|
|
handleError() {
|
|
console.log('----------lemon video handleError');
|
|
},
|
|
handleProgress() {
|
|
console.log('----------lemon video handleProgress');
|
|
},
|
|
handleLoadedMetadata() {
|
|
console.log('----------lemon video handleLoadedMetadata');
|
|
},
|
|
bindVideoMute() {
|
|
this.setData({
|
|
showMute: !this.data.showMute
|
|
});
|
|
},
|
|
bindloadedmetadata(e) {
|
|
console.log('bindloadedmetadata', e);
|
|
}
|
|
}, __templateJs)); |