기본 사용법

가장 간단한 사용법은 SwiftUI 컴포넌트 VpePlayer 입니다. 라이선스 체크, 옵션 머지, 컨트롤바, 풀스크린, 자막, DRM, Now Playing 을 SDK 가 내부에서 처리하므로 컨트롤러를 직접 만들 필요가 없습니다.

딕셔너리 옵션

옵션을 Swift 딕셔너리 [String: Any] 로 전달합니다.

PlayerScreen.swift
import SwiftUI
import VPEPlayer

struct PlayerScreen: View {
    var body: some View {
        VpePlayer(
            accessKey: "YOUR_ACCESS_KEY",
            platform: "pub",        // 기본 "pub"
            stage: "real",          // 기본 "prod"
            options: [
                "autostart": true,
                "muted": true,
                "aspectRatio": "16:9",
                "objectFit": "contain",
                "playlist": [
                    [
                        "file": "https://.../master.m3u8",
                        "description": ["title": "샘플 영상", "profile_name": "NCP"]
                    ]
                ]
            ]
        )
    }
}

JSON 문자열 옵션

<VpePlayer> 와 동일한 스키마의 JSON 문자열을 그대로 전달할 수 있습니다. 서버에서 내려준 옵션 JSON 을 변환 없이 사용할 때 유용합니다.

let json = """
{
  autostart: true, muted: true, aspectRatio: "16/9",
  playlist: [{ file: "https://.../master.m3u8", description: { title: "샘플" } }]
}
"""
VpePlayer(accessKey: "YOUR_ACCESS_KEY", optionsJSON: json)

JSON 은 느슨한 파싱을 지원합니다 — 키 따옴표 생략({ file: ... }), 후행 콤마, // 주석, 작은따옴표 허용.

VpePlayer init 시그니처

// 딕셔너리
VpePlayer(accessKey: String, platform: String = "pub", stage: String = "prod",
          isDev: Bool = false, autoFullscreen: Bool = false, options: [String: Any])

// JSON 문자열
VpePlayer(accessKey: String, platform: String = "pub", stage: String = "prod",
          isDev: Bool = false, autoFullscreen: Bool = false, optionsJSON: String)
인자기본값설명
accessKey라이선스 키 (필수)
platform"pub"민간(pub) / 공공(gov)
stage"prod"배포 스테이지
autoFullscreenfalse재생 준비 시 1회 자동 풀스크린 진입

옵션 변경 시 재구성

옵션이나 키가 바뀌어 뷰 재생성이 필요하면 .id(reloadToken) 으로 강제 재생성합니다.

VpePlayer(accessKey: key, optionsJSON: json).id(reloadToken)
iOS SDKBeta