From c1538ab3674f174fbb59bcd7a1ac49ec73611015 Mon Sep 17 00:00:00 2001 From: hanyuxinting Date: Wed, 11 Dec 2024 13:43:12 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat(Video):=20web=20h5=20=E4=B8=8B?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20ref=20=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/packages/video/demo.tsx | 6 +++--- src/packages/video/demos/h5/demo2.tsx | 13 ++++++++++++- src/packages/video/doc.en-US.md | 7 +++++++ src/packages/video/doc.md | 7 +++++++ src/packages/video/doc.zh-TW.md | 7 +++++++ src/packages/video/video.tsx | 26 ++++++++++++++++++++++---- 6 files changed, 58 insertions(+), 8 deletions(-) diff --git a/src/packages/video/demo.tsx b/src/packages/video/demo.tsx index f0efafb01e..7683c6d533 100644 --- a/src/packages/video/demo.tsx +++ b/src/packages/video/demo.tsx @@ -13,7 +13,7 @@ const VideoDemo = () => { const [translated] = useTranslate({ 'zh-CN': { basic: '基础用法', - autoPlay: '自动播放', + autoPlay: '自动播放,支持 Ref 暂停 和继续播放', muted: '初始化静音', cover: '视频封面海报设置', inline: '行内播放', @@ -22,7 +22,7 @@ const VideoDemo = () => { }, 'zh-TW': { basic: '基礎用法', - autoPlay: '自動播放', + autoPlay: '自動播放,支持 Ref 暫停 和繼續播放', muted: '初始化靜音', cover: '視頻封面海報設置', inline: '行內播放', @@ -31,7 +31,7 @@ const VideoDemo = () => { }, 'en-US': { basic: 'Basic Usage', - autoPlay: 'Auto play', + autoPlay: 'Auto play, Ref pause and play', muted: 'Initialize mute', cover: 'Video cover poster settings', inline: 'play inline', diff --git a/src/packages/video/demos/h5/demo2.tsx b/src/packages/video/demos/h5/demo2.tsx index b819a18bd6..7b8be0423f 100644 --- a/src/packages/video/demos/h5/demo2.tsx +++ b/src/packages/video/demos/h5/demo2.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react' +import React, { useState, useRef } from 'react' import { Cell, Video } from '@nutui/nutui-react' const Demo2 = () => { @@ -14,10 +14,21 @@ const Demo2 = () => { const play = (elm: HTMLVideoElement) => console.log('play', elm) const pause = (elm: HTMLVideoElement) => console.log('pause', elm) const playend = (elm: HTMLVideoElement) => console.log('playend', elm) + + const rootRef = useRef(null) + setTimeout(() => { + rootRef?.current?.pause() + }, 2000) + + setTimeout(() => { + rootRef?.current?.play() + }, 4000) + return ( <>