refactor: Update video element resizing logic in Artplayer and artplayer-proxy-webav

This commit is contained in:
Harvey Zack committed 2024-08-22 11:13:10 +08:00
1 parent ce3503cc3a
commit 77a3438e2d
3 files changed
+15 -5

No files matched your search

@@ -278,7 +278,7 @@ function artplayerProxyWebAV() {
}
function resize() {
const player = art.template?.$player;
if (!player || option.autoSize) return;
if (!player || state.autoSize) return;
const aspectRatio = canvas.videoWidth / canvas.videoHeight;
const containerWidth = player.clientWidth;
const containerHeight = player.clientHeight;
@@ -377,6 +377,7 @@ function artplayerProxyWebAV() {
def(canvas, "currentTime", {
get: ()=>state.currentTime,
set: (val)=>{
if (state.readyState < 4) return;
const newTime = Math.max(0, Math.min(val, state.duration));
const now = performance.now();
if (now - lastSeekTime > 16) {
@@ -402,7 +403,7 @@ function artplayerProxyWebAV() {
set: (val)=>{
option.url = val;
init().then(()=>{
if (option.autoplay) canvas.play();
if (state.autoplay) canvas.play();
});
}
});
@@ -447,6 +448,8 @@ function artplayerProxyWebAV() {
});
def(canvas, "play", {
value: async ()=>{
if (state.readyState < 4) return false;
await init();
await play();
art.emit("video:play", {
type: "play"
@@ -454,10 +457,12 @@ function artplayerProxyWebAV() {
art.emit("video:playing", {
type: "playing"
});
return true;
}
});
def(canvas, "pause", {
value: ()=>{
if (state.readyState < 4) return;
stop();
state.playing = false;
state.paused = true;