[swift] Swift에서 비디오 재생 화면 비율 조절하기

Swift를 사용하여 iOS 애플리케이션을 개발 중이라면 영상을 재생하는 화면의 비율을 조절해야 할 때가 있습니다. 화면 사이즈와 비디오의 종횡비가 다를 경우, 화면에 영상을 맞추기 위해 조절해야 합니다. 이번 블로그에서는 Swift를 사용하여 비디오 재생 화면의 비율을 조절하는 방법에 대해 알아보겠습니다.

AVPlayerLayer 사용하기

AVPlayerLayer는 AVFoundation 프레임워크에서 제공하는 클래스로, 비디오를 화면에 보여줄 때 사용됩니다. 비디오 레이어의 크기와 위치를 조절하여 화면에 영상을 맞출 수 있습니다.

다음은 AVPlayerLayer를 사용하여 비디오 레이어의 비율을 조절하는 예시입니다.

import AVFoundation
import AVKit

class VideoPlayerViewController: UIViewController {
    var player: AVPlayer?
    var playerLayer: AVPlayerLayer?

    override func viewDidLoad() {
        super.viewDidLoad()

        let videoURL = URL(fileURLWithPath: "path/to/your/video.mp4")
        player = AVPlayer(url: videoURL)
        playerLayer = AVPlayerLayer(player: player)

        playerLayer?.videoGravity = .resizeAspectFill // 비디오 비율 조절 옵션 설정

        playerLayer?.frame = view.layer.bounds
        view.layer.addSublayer(playerLayer!)

        player?.play()
    }
}

위 예시에서 playerLayer?.videoGravity = .resizeAspectFill 부분이 비디오 레이어의 비율을 조절하는 부분입니다. resizeAspectFill은 뷰의 비율에 맞게 영상을 채우는 옵션입니다. 다른 옵션으로는 resizeresizeAspect 등이 있습니다.

정리

Swift에서 AVPlayerLayer를 사용하여 비디오 재생 화면의 비율을 조절하는 방법에 대해 살펴보았습니다. AVPlayerLayer를 활용하면 영상을 화면에 맞춰 재생할 수 있으며, 다양한 비율 조절 옵션을 제공하여 화면에 최적화된 영상 재생이 가능합니다.

만약 화면 크기나 비디오 종횡비와 관련된 다른 문제가 발생할 경우, AVPlayerLayer의 다양한 속성을 활용하여 적합한 화면 비율을 설정할 수 있습니다.

관련해서 자세한 내용은 Apple Developer 문서를 참고하시기 바랍니다.

위의 내용이 도움이 되었으면 좋겠습니다. 추가 질문이 있으시다면 언제든지 물어봐 주세요!