[ios] MediaPlayerUI 프레임워크와 자막 표시

iOS 앱을 개발할 때 동영상을 재생하고 사용자에게 자막을 표시하고 싶은 경우가 많습니다. iOS에서는 MediaPlayerUI 프레임워크를 사용하여 동영상 재생 시 자막을 표시할 수 있습니다. 이번 글에서는 MediaPlayerUI 프레임워크를 사용하여 iOS 앱에서 자막을 표시하는 방법에 대해 알아보겠습니다.

MediaPlayerUI 프레임워크 소개

MediaPlayerUI 프레임워크는 iOS에서 동영상 및 오디오를 재생하고 관련 컨텐츠를 표시하기 위한 프레임워크입니다. 이를 사용하여 사용자에게 동영상과 관련된 정보를 표시하고 동영상 플레이어의 UI를 커스터마이징할 수 있습니다.

자막 표시하기

1. MediaPlayerUI 프레임워크 추가

먼저, Xcode 프로젝트에 MediaPlayerUI 프레임워크를 추가해야 합니다.

import MediaPlayer

2. 자막 파일 연동

동영상 파일과 함께 자막 파일을 프로젝트에 추가하고, MediaPlayerUI를 사용하여 자막을 동영상과 연동합니다.

let videoURL = URL(string: "동영상 파일 URL")
let player = AVPlayer(url: videoURL)

let item = AVPlayerItem(url: videoURL)
item.externalMetadata = [AVMetadataItem]

let playerViewController = AVPlayerViewController()
playerViewController.player = player

self.present(playerViewController, animated: true) {
    player.play()
}

3. 자막 표시

자막 트랙을 AVPlayerItem에 추가하고 AVPlayerViewController에 표시합니다.

let asset = AVURLAsset(url: videoURL)
let subtitleURL = URL(string: "자막 파일 URL")
let assetKeys = ["tracks"]

asset.loadValuesAsynchronously(forKeys: assetKeys) {
    var error: NSError?
    let status = asset.statusOfValue(forKey: "tracks", error: &error)

    if status == .loaded {
        let group = asset.mediaSelectionGroup(forMediaCharacteristic: .legible)
        let options = AVMediaSelectionGroup.mediaSelectionOptions(from: group!)

        for option in options {
            if option.extendedLanguageTag == "자막 언어 코드" {
                player.currentItem?.select(option, in: group!)
            }
        }
    }
}

결론

MediaPlayerUI 프레임워크를 사용하여 iOS 앱에서 동영상을 재생할 때 자막을 표시하는 방법을 알아보았습니다. 이를 통해 사용자는 동영상을 시청하면서 자막을 편리하게 확인할 수 있게 됩니다.

더 많은 자세한 내용은 Apple Developer Documentation에서 확인할 수 있습니다.