PIP 모드란?
오른쪽 하단 작은 창을 의미한다.
PIP = Picture In Picture (사진 속 사진?)
리액트에서 라이브러리 사용하여 간단히 구현 가능하다.
😎 install
npm i react-use-pip
😎 import
import usePictureInPicture from 'react-use-pip'
😎Script
const videoRef = useRef(null)
const {
isPictureInPictureActive, //PIP 모드가 활성인지 비활성인지 여부
isPictureInPictureAvailable, //PIP 모드가 지원되고 활성화되었는지 여부
togglePictureInPicture,
} = usePictureInPicture(videoRef)
😎HTML
<div className="App">
<video
ref={videoRef}
autoPlay
muted
controls
loop
width="100%"
src="https://storage.googleapis.com/media-session/caminandes/short.mp4"
/>
{
isPictureInPictureAvailable &&
(
<button onClick={() => togglePictureInPicture(!isPictureInPictureActive)}>
{isPictureInPictureActive ? 'Disable' : 'Enable'} Picture in Picture
</button>
)
}
</div>
구현화면
버튼을 누르면 PIP모드가 활성화 된다.
유튜브 영상을 띄우고싶었는데 영상에 라이센스가 붙어있는듯 하다.
다음엔 유투브 영상 자동 루프 도는 코드를 작성하려한다.
728x90
반응형
'Front-end > React' 카테고리의 다른 글
React를 자바스크립트, 타입스크립트 중 무엇으로 사용하는게 좋을까? (0) | 2023.12.22 |
---|---|
[React] 'react-player/lazy' 라이브러리 사용 연속 재생 가능한 비디오 플레이어 만들기 (2) | 2023.10.31 |
[대시보드] amcharts 라이브러리 사용 리액트 누적 막대 그래프 만들기 (0) | 2023.10.17 |
React PC/Mobile 접속 기기별 라우팅 react-device-detect (0) | 2023.09.20 |
[대시보드] amcharts 라이브러리 사용 리액트 Pie 차트 (0) | 2023.08.30 |
댓글