[ios] 미디어 재생 시의 화면 정보 처리

iOS 애플리케이션에서 동영상이나 음악 파일을 실행할 때, 화면에 관련 정보를 표시하고 처리하는 것은 중요한 요소입니다. 이번 글에서는 iOS 애플리케이션에서 미디어 재생 시의 화면 정보 처리에 대해 알아보겠습니다.

미디어 재생 화면 표시

iOS 애플리케이션에서 미디어를 재생할 때, 주로 AVPlayerViewController를 사용하여 비디오 및 오디오를 표시합니다. 이를 통해 영상 재생, 일시정지, 시간 표시 등을 쉽게 처리할 수 있습니다.

import AVKit

let playerViewController = AVPlayerViewController()
let player = AVPlayer(url: myVideoURL)
playerViewController.player = player
present(playerViewController, animated: true) {
    player.play()
}

미디어 정보 표시

미디어가 재생되는 동안, 화면에 미디어 정보를 표시할 필요가 있습니다. 예를 들어, 비디오의 제목, 작가, 앨범 이미지 등을 표시할 수 있습니다. 이를 위해 MPMediaItemMPNowPlayingInfoCenter 클래스를 사용하여 미디어 정보를 설정할 수 있습니다.

import MediaPlayer

let nowPlayingInfo: [String: Any] = [
    MPMediaItemPropertyTitle: "Title",
    MPMediaItemPropertyArtist: "Artist",
    MPMediaItemPropertyArtwork: MPMediaItemArtwork(boundsSize: CGSize(width: 100, height: 100)) { context in
        return UIImage(named: "albumArtwork")!
    }
]
MPNowPlayingInfoCenter.default().nowPlayingInfo = nowPlayingInfo

미디어 컨트롤 센터 사용

마지막으로, 미디어가 재생 중일 때 잠금 화면이나 컨트롤 센터에서 재생/일시정지, 이전/다음 곡을 제어할 수 있어야 합니다. MPRemoteCommandCenter 클래스를 사용하여 리모트 컨트롤 기능을 구현할 수 있습니다.

let commandCenter = MPRemoteCommandCenter.shared()
commandCenter.playCommand.addTarget { event in
    // 재생 버튼 누를 때 실행할 코드
    return .success
}

commandCenter.pauseCommand.addTarget { event in
    // 일시정지 버튼 누를 때 실행할 코드
    return .success
}

// 이전/다음 곡 등 추가 컨트롤 기능 구현

이렇게 iOS 애플리케이션에서 미디어를 재생할 때의 화면 정보 처리 방법에 대해 알아보았습니다. 미디어 정보의 표시와 컨트롤 기능을 적절히 구현하여 사용자가 편리하고 직관적인 미디어 재생 환경을 경험하도록 할 수 있습니다.