[swift] 비디오 재생 시 프로그레스 바 추가하기 (Swift)
비디오 앱을 개발하고 있을 때 사용자에게 동영상의 재생 상태를 시각적으로 보여주는 것이 중요합니다. 이를 위해서는 프로그레스 바를 추가하여 사용자에게 현재 재생 위치를 시각적으로 표시할 수 있습니다.
AVPlayerLayer를 이용하여 프로그레스 바 추가하기
AVPlayerLayer를 사용하여 비디오 뷰어에 프로그레스 바를 추가할 수 있습니다. 아래는 AVPlayerLayer를 이용하여 프로그레스 바를 추가하는 간단한 예제입니다.
import AVFoundation
import UIKit
class VideoPlayerViewController: UIViewController {
var player: AVPlayer!
override func viewDidLoad() {
super.viewDidLoad()
// 비디오 파일 경로
let videoURL = URL(fileURLWithPath: "video.mp4")
let playerItem = AVPlayerItem(url: videoURL)
player = AVPlayer(playerItem: playerItem)
let playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = view.bounds
view.layer.addSublayer(playerLayer)
// 프로그레스 바 추가
let progressBar = UIProgressView(progressViewStyle: .default)
progressBar.frame = CGRect(x: 0, y: view.frame.size.height - 5, width: view.frame.size.width, height: 5)
progressBar.progressTintColor = UIColor.red
view.addSubview(progressBar)
// 비디오 재생 시간에 따라 프로그레스 바 업데이트
player.addPeriodicTimeObserver(forInterval: CMTimeMake(value: 1, timescale: 1), queue: DispatchQueue.main) { [weak self] time in
let progress = Float(CMTimeGetSeconds(time) / CMTimeGetSeconds(playerItem.duration))
progressBar.setProgress(progress, animated: true)
}
// 비디오 재생 시작
player.play()
}
}
위의 예제에서는 AVPlayerLayer를 사용하여 비디오 뷰어에 비디오를 추가하고, UIProgressView를 사용하여 프로그레스 바를 추가합니다. 또한, 비디오 재생 시간에 따라 프로그레스 바가 업데이트되도록 설정합니다.
AVPlayerLayer 및 AVPlayer를 사용하여 프로그레스 바를 추가하는 방법을 사용하여 비디오 재생 상태를 사용자에게 시각적으로 보여줄 수 있습니다.
결론
AVPlayerLayer를 사용하여 비디오 재생 시 프로그레스 바를 추가하는 방법을 살펴보았습니다. 프로그레스 바를 통해 사용자에게 현재 재생 위치를 시각적으로 보여주므로, 비디오 앱의 사용자 경험 향상에 도움이 될 것입니다.
이러한 기능을 활용하여 비디오 앱을 개발할 때, 사용자가 재생 상태를 파악할 수 있도록 프로그레스 바를 추가하는 것을 고려해보세요.