전체 라이브러리의 재생 시간을 가져와야하는 경우 MPMediaQuery
의 항목을 반복하면됩니다.
let query = MPMediaQuery.albums()
let items = query.items
var totalTime: TimeInterval = 0.0
if items != nil {
for item in items! {
totalTime += item.playbackDuration
}
}
let duration = Int(totalTime)
let seconds = duration % 60
let minutes = duration/60 % 60
let hours = duration/3600
print("Total playback time: \(hours):\(minutes):\(seconds)")
컬렉션은 당신에게 MPMediaItems
의 배열 순으로 정렬 및 groupingType
옵션 (아티스트, 앨범, 장르 등) 컬렉션으로 그룹화를 제공 할 것입니다. 라이브러리의 모든 앨범에 대한 재생 시간 예를 들면 다음과 같이 반복 할 수 있습니다.
let query = MPMediaQuery.albums()
let collections = query.collections
var albumTime: TimeInterval = 0.0
if collections != nil {
for collection in collections! {
if let albumTitle = collection.representativeItem?.value(forProperty: MPMediaItemPropertyAlbumTitle) {
for item in collection.items {
albumTime += item.playbackDuration
}
let duration = Int(albumTime)
let seconds = duration % 60
let minutes = duration/60 % 60
let hours = duration/3600
print("\"\(albumTitle)\" playback time: \(hours):\(minutes):\(seconds)")
albumTime = 0.0
}
}
}