console
var canvas = document.getElementById('canvas');
var editor = new Editor(canvas);
let imageNode = editor.image("https://sf6-ttcdn-tos.pstatp.com/obj/web.business.image/202106035d0d91c31c8a1fef4a9aabb8", {
width: 200,
height: 200,
left: 0,
top: 0
})
let audioNode = editor.audio("https://sf6-cdn-tos.douyinstatic.com/obj/tos-cn-ve-2774/64b5a4609eb843c29c974d39d4d5d058", {
type: Editor.AUDIOEFFECT.FADE,
useEffect: true,
playbackRateType: 'wasm',
volume: 1,
});
audioNode.playbackRate = 1.8;
imageNode.timelineStart(0);
imageNode.timelineStop(24);
audioNode.timelineStart(0);
audioNode.timelineStop(24);
imageNode.connect(editor.output);
audioNode.connect(editor.output);
let wrapper = document.getElementById('wrapper');
let interactiveBox = editor.initInteractiveBox(wrapper, {
rotatable: true
});
initButton();
InitVisualisations(editor, 'timeline-canvas', 'currentTime');
let graphCanvas = document.getElementById('graph');
Editor.utils.visualiseVideoContextGraph(editor, graphCanvas);
editor.on('timeupdate', () => {
Editor.utils.visualiseVideoContextGraph(editor, graphCanvas);
})
function initButton() {
var playButton = document.getElementById('play-button');
var pauseButton = document.getElementById('pause-button');
playButton.onclick = editor.play.bind(editor);
pauseButton.onclick = editor.pause.bind(editor);
}
<div class="wrapper" id="wrapper">
<canvas width="640" height="360" id="canvas" style="border: 1px solid red;"></canvas>
</div>
<p>
<button id="play-button">play</button>
<button id="pause-button">pause</button>
<button id="enable-guess">开启高斯模糊</button>
</p>
<p id="currentTime"></p>
<p>
<canvas id="timeline-canvas" width="640" , height="20"></canvas>
</p>
<canvas width="640" height="360" id="graph"></canvas>
html {
font-family: monospace;
color: #333;
}
#current {
font-size: 12px;
}
#canvas {
width: 640px;
height: 360px;
}
#canvas2 {
width: 640px;
height: 360px;
position: absolute;
left: 0px;
top: 0px;
z-index: 10;
}
#container {
position: relative;
}
button {
line-height: 1.499;
position: relative;
display: inline-block;
font-weight: 400;
white-space: nowrap;
text-align: center;
background-image: none;
border: 1px solid transparent;
cursor: pointer;
user-select: none;
height: 32px;
padding: 0 15px;
font-size: 14px;
border-radius: 4px;
color: rgba(0,0,0,0.65);
background-color: #fff;
border-color: #d9d9d9;
outline: 0;
transition: all .3s cubic-bezier(.645, .045, .355, 1);
}
button:hover {
color: #40a9ff;
background-color: #fff;
border-color: #40a9ff;
}
button:active {
color: #096dd9;
background-color: #fff;
border-color: #096dd9;
}
input[type="text"] {
-webkit-appearance: none;
background-color: #fff;
background-image: none;
border-radius: 4px;
border: 1px solid #dcdfe6;
box-sizing: border-box;
color: #606266;
display: inline-block;
font-size: inherit;
height: 32px;
line-height: 32px;
outline: none;
padding: 0 8px;
transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
width: 50px;
}
.wrapper {
width: 640px;
height: 360px;
position: relative;
}
@font-face {
font-family: "hardFont";
src: url('./assets/hardFont.ttf');
}
.wrapper {
position: relative;
width: 480px;
height: 640px;
overflow: hidden;
border: 1px solid red;
}
#canvas {
width: 480px;
height: 640px;
}