mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-19 11:21:20 -08:00
feat: Add sleep function for delayed frame drawing in artplayer-proxy-canvas
This commit is contained in:
1 parent
7bf8a00a7d
commit
c8b5282af9
3 files changed
+9
-12
No files matched your search
@@ -149,7 +149,7 @@ parcelHelpers.export(exports, "default", ()=>artplayerProxyCanvas);
|
||||
function artplayerProxyCanvas(callback) {
|
||||
return (art)=>{
|
||||
const { option, constructor } = art;
|
||||
const { createElement, def, append } = constructor.utils;
|
||||
const { createElement, def, append, sleep } = constructor.utils;
|
||||
const canvas = createElement("canvas");
|
||||
const ctx = canvas.getContext("2d");
|
||||
const video = createElement("video");
|
||||
@@ -253,20 +253,19 @@ function artplayerProxyCanvas(callback) {
|
||||
Object.assign(canvas.style, {
|
||||
padding: `${paddingTop}px ${paddingLeft}px`
|
||||
});
|
||||
// 重新绘制当前帧
|
||||
drawFrame();
|
||||
} catch (error) {
|
||||
console.error("Error in resize function:", error);
|
||||
}
|
||||
};
|
||||
// 在视频元数据加载完成后设置 canvas 尺寸并绘制第一帧
|
||||
art.on("video:loadedmetadata", ()=>{
|
||||
art.on("video:loadedmetadata", async ()=>{
|
||||
canvas.width = video.videoWidth;
|
||||
canvas.height = video.videoHeight;
|
||||
resize();
|
||||
});
|
||||
// 在视频数据可用时绘制第一帧
|
||||
art.on("video:canplay", ()=>{
|
||||
art.on("video:canplay", async ()=>{
|
||||
await sleep(300);
|
||||
drawFrame();
|
||||
});
|
||||
art.on("video:play", ()=>{
|
||||
|
||||
Reference in new issue
Block a user