iOS 앱을 개발할 때, MediaPlayer 프레임워크를 사용하여 음악 또는 비디오를 재생하는 기능을 구현할 수 있습니다. MediaPlayer를 사용하여 미디어 데이터를 처리하고 표시하는 방법을 알아보겠습니다.
미디어 아이템 로딩
MediaPlayer 프레임워크를 사용하여 미디어 아이템을 로딩하려면 MPMediaLibrary
클래스를 사용해야 합니다. 이 클래스는 로컬 미디어 라이브러리에서 미디어 항목을 쿼리하고 가져오는 기능을 제공합니다. 예를 들어, 사용자의 음악 라이브러리에서 모든 음악을 검색하려면 다음과 같이 할 수 있습니다.
import MediaPlayer
let mediaItems = MPMediaQuery.songs().items
위의 코드는 MPMediaQuery
를 사용하여 모든 음악을 가져와 items
속성으로 음악 아이템 배열을 반환합니다.
미디어 아이템 필터링
로딩된 미디어 아이템을 필터링하려면 MPMediaQuery
객체의 필터 속성을 사용합니다. 예를 들어, 특정 아티스트의 음악만 필터링하려면 다음과 같이 할 수 있습니다.
let query = MPMediaQuery.songs()
let predicate = MPMediaPropertyPredicate(value: "Taylor Swift", forProperty: MPMediaItemPropertyArtist)
query.addFilterPredicate(predicate)
let mediaItems = query.items
위의 코드에서 MPMediaPropertyPredicate
를 사용하여 아티스트 이름을 기준으로 필터링하고, addFilterPredicate
메서드를 사용하여 쿼리에 필터를 추가합니다.
미디어 아이템 재생
로딩 및 필터링된 미디어 아이템을 재생하려면 MPMusicPlayerController
클래스를 사용합니다. 예를 들어, 특정 음악을 재생하려면 다음과 같이 할 수 있습니다.
let player = MPMusicPlayerController.systemMusicPlayer
player.setQueue(with: mediaItems)
player.play()
위의 코드에서 MPMusicPlayerController
를 사용하여 미디어 아이템을 큐에 추가하고 play
메서드를 호출하여 재생합니다.
미디어 플레이어의 데이터소스 관리에 대한 기본적인 개요를 살펴보았습니다. 더 많은 세부 정보를 원하시면 MediaPlayer 프레임워크 공식 문서를 참고하시기 바랍니다.