[swift] 스위프트에서 미디어 재생 시간 표시하기

미디어 앱을 개발하다 보면 재생 중인 오디오나 비디오의 시간을 사용자에게 보여줘야 하는 경우가 있습니다. 스위프트에서는 AVFoundation 프레임워크를 사용하여 이러한 기능을 쉽게 구현할 수 있습니다. 이번 글에서는 AVPlayer를 사용하여 미디어의 재생 시간을 표시하는 방법에 대해 알아보겠습니다.

AVPlayer를 통한 재생 시간 표시

AVPlayer는 미디어 재생을 관리하기 위한 객체로, 현재 재생 중인 시간을 제공합니다. 이를 활용하여 UI에 실시간으로 재생 시간을 표시할 수 있습니다.

import AVFoundation

// AVPlayer 인스턴스 생성
let player = AVPlayer(url: URL(string: "your_media_file_url")!)

// 재생 시간 감시자 등록
let interval = CMTime(seconds: 1, preferredTimescale: CMTimeScale(NSEC_PER_SEC))
player.addPeriodicTimeObserver(forInterval: interval, queue: DispatchQueue.main) { time in
    // 현재 재생 시간 처리
    let currentTime = CMTimeGetSeconds(player.currentTime())
    // UI 업데이트
    // 예: 레이블에 현재 시간 표시
    print("Current time: \(currentTime)")
}

위의 코드에서 your_media_file_url에는 재생할 미디어 파일의 URL을 넣어주어야 합니다. 또한, 재생 시간 감시자를 등록하여 1초 간격으로 현재 재생 시간을 업데이트하고, 해당 시간을 UI에 표시하고 있습니다.

위의 코드를 참고하여 AVPlayer를 사용하여 미디어의 재생 시간을 표시하는 기능을 구현해 보세요.

결론

스위프트에서 AVPlayer를 사용하여 미디어의 재생 시간을 표시하기 위해서는 AVFoundation 프레임워크의 기능을 활용하면 됩니다. AVPlayer를 생성하고, 재생 시간 감시자를 등록하여 실시간으로 재생 시간을 업데이트할 수 있습니다.

이를 통해 사용자에게 현재 재생 중인 미디어의 시간을 효과적으로 보여줄 수 있으며, 보다 풍부한 미디어 앱을 구현할 수 있습니다.

참고 자료

위의 예제 코드와 설명을 참고하여 AVPlayer를 통해 미디어 재생 시간을 효과적으로 표시하는 기능을 구현할 수 있습니다.