---
title: "플레이어 UX"
slug: "vpe-react-player-ux"
updated: 2026-09-17T09:08:03Z
published: 2026-09-17T09:08:03Z
canonical: "guide.ncloud-docs.com/vpe-react-player-ux"
stale: true
---
> ## Documentation Index
> Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt
> Use this file to discover all available pages before exploring further.
# 플레이어 UX
Classic/VPC 환경에서 이용 가능합니다.
스크립트 코드를 수정하여 UX와 관련된 옵션을 설정하는 방법을 설명합니다.
참고
- 옵션을 설정하는 속성에 대한 설명은 플레이어 설정을 참고해 주십시오.
- 이용 중인 요금제에 따라 설정 가능한 옵션이 다를 수 있습니다.
## startMutedInfoNotVisible (음소거 상태 표시)
음소거 상태를 표시할 수 있습니다.
```
import Hls from "hls.js";
import dashjs from "dashjs";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";
// 동영상(MP4)
export function App() {
return (
);
}
```
## seekingPreview (구간 이동 미리보기)
구간 이동 시 섬네일 이미지를 제공합니다.
참고
- Standard 요금제에서만 사용할 수 있습니다.
- VOD에서만 지원합니다.
```
import Hls from "hls.js";
import dashjs from "dashjs";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";
// 동영상(VOD)
export function App() {
return (
);
}
```
## autoPause (브라우저 비활성화 시 자동 정지)
탭이 비활성화되면 자동으로 재생을 정지합니다.
참고
- Standard 요금제에서만 사용할 수 있습니다.
- 모바일에서는 동작하지 않습니다.
- Webapp/Webview 환경에서는 동작하지 않습니다.
```
import Hls from "hls.js";
import dashjs from "dashjs";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";
// 동영상(VOD)
export function App() {
return (
);
}
```
## keyboardShortcut (키보드 단축키)
키보드 단축키 사용 여부를 설정합니다.
참고
Standard 요금제에서만 사용할 수 있습니다.
**기본 단축키**
| 키 | 기능 |
| --- | --- |
| Space | 재생 / 일시정지 |
| ← → | 5초 전 / 후로 이동 |
| ↑ ↓ | 볼륨 5% 조절 |
| M | 음소거 |
| F | 전체 화면 |
```
import Hls from "hls.js";
import dashjs from "dashjs";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";
// 동영상(MP4)
export function App() {
return (
);
}
```
## touchGestures (터치 제스처)
터치 제스처 사용 여부를 설정합니다.
참고
Standard 요금제에서만 사용할 수 있습니다.
```
import Hls from "hls.js";
import dashjs from "dashjs";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";
// 동영상(MP4)
export function App() {
return (
);
}
```
## visibleWatermark/watermarkText (텍스트 워터마크)
워터마크를 활성화하거나 표시 텍스트를 설정합니다.
참고
- Standard 요금제에서만 사용할 수 있습니다.
- 해당 옵션은 콘솔 설정을 통해서만 적용됩니다.
- 코드에서 값을 바꿀 수 없습니다. (스크립트 코드에서만 확인 가능)
```
import Hls from "hls.js";
import dashjs from "dashjs";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";
// 동영상(MP4)
export function App() {
return (
);
}
```
## watermarkConfig (텍스트 워터마크 상세 설정)
워터마크 이동, 위치, 투명도 등을 설정합니다.
**랜덤 이동**
```
import Hls from "hls.js";
import dashjs from "dashjs";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";
// 동영상(MP4) - 랜덤 이동
export function App() {
return (
);
}
```
**고정 위치**
```
import Hls from "hls.js";
import dashjs from "dashjs";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";
// 동영상(MP4) - 고정 위치
export function App() {
return (
);
}
```
## iosFullscreenNativeMode (iOS 웹 전체 화면 방식)
iOS Safari의 네이티브 전체화면 방식을 사용합니다.
참고
- Standard 요금제에서만 사용할 수 있습니다.
- iOS Safari에서만 동작합니다.
- Player 버전 1.1.5 이상에서 지원합니다.
- 기본값은 `true`입니다.
```
import Hls from "hls.js";
import dashjs from "dashjs";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";
// 동영상(MP4)
export function App() {
return (
);
}
```
## 커스텀 버튼
`options.icon`을 사용하면 플레이어 컨트롤바의 기본 아이콘을 원하는 이미지나 React 컴포넌트로 교체할 수 있습니다. 지정하지 않은 아이콘은 기본 Material Design 아이콘이 유지됩니다.
참고
UMD 환경(정적 HTML/PHP/JSP)에서는 React 컴포넌트를 사용할 수 없으며, SVG 또는 PNG 이미지 경로(string)만 사용 가능합니다.
### IconOverrides 타입
각 키에 `string` 또는 `ReactNode`를 전달할 수 있습니다.
```
type IconOverrides = {
bigPlay?: string | ReactNode; // 큰 재생 버튼 아이콘
play?: string | ReactNode; // 재생 아이콘
pause?: string | ReactNode; // 일시정지 아이콘
prev?: string | ReactNode; // 이전 트랙 아이콘
next?: string | ReactNode; // 다음 트랙 아이콘
replay?: string | ReactNode; // 다시 재생 아이콘
subtitle?: string | ReactNode; // 자막 켜기 아이콘
subtitleOff?: string | ReactNode; // 자막 끄기 아이콘
fullscreen?: string | ReactNode; // 전체화면 아이콘
fullscreenExit?: string | ReactNode; // 전체화면 해제 아이콘
volumeFull?: string | ReactNode; // 볼륨 최대 아이콘
volumeMute?: string | ReactNode; // 음소거 아이콘
volumeMid?: string | ReactNode; // 볼륨 중간 아이콘
pip?: string | ReactNode; // PIP 아이콘
setting?: string | ReactNode; // 설정 아이콘
};
```
### 값 유형
| 유형 | 예시 | 렌더링 방식 |
| --- | --- | --- |
| string | `"/icons/play.svg"` | `<img src={url}>`로 렌더링 |
| ReactNode | `<FaPlay />` | React 컴포넌트/JSX를 그대로 렌더링 |
| 미지정 | - | 기본 Material Design 아이콘 사용 |
### React 컴포넌트로 아이콘 교체
커스텀 SVG 컴포넌트나 `react-icons` 등의 아이콘 라이브러리를 활용하여 JSX로 아이콘을 교체할 수 있습니다.
```
"use client";
import Hls from "hls.js";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";
// 커스텀 SVG 컴포넌트 정의
function PlayIcon() {
return (
);
}
function PauseIcon() {
return (
);
}
function FullscreenIcon() {
return (
);
}
export default function CustomIconPlayer() {
return (
,
pause: ,
bigPlay: ,
fullscreen: ,
fullscreenExit: ,
setting: ,
volumeFull: ,
volumeMute: ,
volumeMid: ,
},
}}
/>
);
}
```
`app/player/page.tsx`
### 이미지 경로로 아이콘 교체
SVG 또는 PNG 파일 경로를 문자열로 전달하면 `<img>` 태그로 렌더링됩니다. React와 UMD 환경 모두에서 사용 가능합니다.
```
"use client";
import Hls from "hls.js";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";
export default function SvgUrlIconPlayer() {
return (
);
}
```
### 혼합 사용
이미지 경로와 React 컴포넌트를 함께 사용할 수 있습니다. 필요한 아이콘만 지정하면 나머지는 기본 아이콘이 유지됩니다.
```
"use client";
import Hls from "hls.js";
import { VpePlayer } from "@sgrsoft/vpe-react-sdk";
import { FaPlay, FaPause } from "react-icons/fa";
export default function MixedIconPlayer() {
return (
,
pause: ,
// 이미지 경로
bigPlay: "/icons/big-play.svg",
fullscreen: "/icons/fullscreen.svg",
fullscreenExit: "/icons/fullscreen-exit.svg",
},
}}
/>
);
}
```
`app/player/page.tsx`