2010년 5월 9일 일요일

MPMediaItem Class Reference

MPMediaItem Class Reference
상속 : NSObject
프로토콜 : NSCoding, NSObject(NSObject)
프레임워크 : /System/Library/Frameworks/MediaPlayer.framework
이용가능 버전 : iPhone OS 3.0 이상
관련 가이드 : iPod Library Access Programming Guide
선언 : MPMediaItem.h
관련 샘플 코드 : AddMusic

개요
MPMediaItem 오브젝트, 또는 미디어 아이템은 iPod 라이브러리에서 미디어의 한조각을 표현한다.  하나의 미디어 아이템은 하나의 유일한 식별자를 가지는데, 이것은 MPMediaItemPropertyPersistentID 속성 키를 사용하여 접근된다.  이 식별자는 어플리케이션 런치들을 유지한다.

하나의 미디어 아이템은 이것과 관련된 넓은 범위의 메타 데이터를 가질 수 있다.  당신은 이 문서에서 설명되는 속성 키들과 같이 valueForProperty: 메서드를 사용하여 이 메타데이터에 접근한다.

당신은 iPod 라이브러리를 검색하기 위한 미디어 쿼리들을 만드는데에 미디어 아이템의 속성들을 사용한다. 이 속성들은 "Media Item Type Flages," "General Media Item Property Keys" 그리고 "Podcast Item Property Keys."에 설명되어 있고, 미디어 쿼리들은 MPMediaQuery 클래스 레퍼런스에 설명되어 있다.

태스크
미디어 아이템 속성들 사용하기
+ canFilterByProperty:
- valueForProperty:

클래스 메서드
canFilterByProperty:
미디어 아이템 속성 키가 미디어 속성을 결정짓도록 구성하는데 사용될수 있는지를 나타냄

+ (BOOL)canFilterByProperty:(NSString *)property

인자
property
    검사하길 원하는 속성을 위한 키

리턴 값
속성키로 YES를 리턴하는 것은 MPMediaPropertyPredicate 오브젝트들을 구성하는데 사용될 수 있다는 것이다.

[iPhone OS 3.0 이상에서 사용가능하며, MPMediaItem.h 에 정의되어 있음.]


인스턴스 메서드
valueForProperty:
특정 미디어 아이템 프로퍼티 키의 값

- (id)valueForProperty:(NSString *)property

인자
property
    값을 얻기를 원하는 속성

리턴 값
미디어 아이템 프로퍼티 키를 위한 값을 리턴

토론
이 프로퍼티와 같이 사용할 수 있는 메타데이터 키들의 목록은 "일반적인 미디어 아이템 프로퍼티 키, " "팟캐스트 아이템 프로퍼티 키, " 그리고 "사용자 정의 프로퍼티 키." 에 있다.

[iPhone OS 3.0 이상에서 사용가능하며, MPMediaItem.h 에 정의되어 있음. 관련 샘플 코드는 AddMusic]


상수

미디어 아이템 타입 플래그들
MPMediaItemPropertyMediaType 속성을 위한 값으로 사용할 수 있는 미디어 아이템 타입들.  하나의 미디어 아이템은 하나 이상의 미디어 아이템 타입을 가질 수 있다.
enum {
    // audio media types
    MPMediaTypeMusic       = 1 << 0,
    MPMediaTypePodcast     = 1 << 1,
    MPMediaTypeAudioBook   = 1 << 2,
    MPMediaTypeAnyAudia    = 0x00ff,

    // generic media type
    MPMediaTypeAny         = ~0
};
typedef NSInteger MPMediaType;

상수
MPMediaTypeMusic
음악을 포함하는 미디어 아이템으로 설정된 경우.
iPhone OS 3.0 이상에서 사용가능하며 MPMediaItem.h에 정의 되어 있다.

MPMediaTypePodcase
하나의 podcast를 포함하는 미디어 아이템을 설정한 경우.
iPhone OS 3.0 이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaTypeAudioBook
오디오북을 포함하는 미디어 아이템을 설정한 경우.
iPhone OS 3.0 이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaTypeAnyAudio
불특정 형태의 오디오 컨텐츠를 포함하는 미디어 아이템을 설정한 경우.
iPhone OS 3.0 이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaTypeAny
불특정 형태의 오디오를 포함하는 미디어 아이템을 설정한 경우.
iPhone OS 3.0 이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.


일반적인 미디어 아이템 프로퍼티 키들
당신은 이 프로퍼티 키들을 사용해서 valueForProperty 메소드를 호출하여 미디어 아이템을 위한 메타데이터를 얻는다.  몇몇의 프로퍼티들은 MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이, 미디어 프로퍼티 프리디케이트들을 만드는데에도 사용 될 수 있다.  표시된 속성들은 필터 가능하다.

NSString *const MPMediaItemPropertyPersistentID;      //filterable(필터 가능)
NSString *const MPMediaItemPropertyMediaType;         //filterable
NSString *const MPMediaItemPropertyTitle;             //filterable
NSString *const MPMediaItemPropertyAlbumTitle;        //filterable
NSString *const MPMediaItemPropertyArtist;            //filterable
NSString *const MPMediaItemPropertyAlbumArtist;       //filterable
NSString *const MPMediaItemPropertyGenre;             //filterable
NSString *const MPMediaItemPropertyComposer;          //filterable
NSString *const MPMediaItemPropertyPlaybackDuration;
NSString *const MPMediaItemPropertyAlbumTrackNumber;
NSString *const MPMediaItemPropertyAlbumTrackCount;
NSString *const MPMediaItemPropertyDiscNumber;
NSString *const MPMediaItemPropertyDiscCount;
NSString *const MPMediaItemPropertyArtwork;
NSString *const MPMediaItemPropertyLyrics;
NSString *const MPMediaItemPropertyIsCompilation;    //filterable

상수
MPMediaItemPropertyPersistentID
미디어 아이템을 위한 지속성 있는 식별자.  uint64_t(unsigned long long)을 담고 있는 NSNumber 값이다.  MPMediaItemPropertyPersistentID 식별자의 값은 어플리케이션의 실행과 미디어 아이템의 변하지 않는 싱크 상태를 유지한다.  이 값은 sync/unsync/sync 사이클을 유지할때 이점이 없다.
MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이 미디어 프로퍼티 프리디케이트를 만드는데 사용될 수 있다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyMediaType
미디어 아이템의 미디어 타입. NSInteger 데이터형을 나타내는 NSNumber 오브젝트 값이다.  NSInteger 값은 "미디어 아이템 타입 플래그들" 에서 비트 필드 플래그나 플래그 셋을 나타낸다.
MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이 미디어 프로퍼티 프리디케이트를 만드는데 사용될 수 있다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyTitle
미디어 아이템의 제목(또는 이름). 이 속성은 MPMediaItemPropertyAlbumTitle 속성과 관계 없다.  NSString 오브젝트 값이다.
MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이 미디어 프로퍼티 프리디케이트를 만드는데 사용될 수 있다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.


MPMediaItemPropertyAlbumTitle
"Live On Mars"와 같은 앨범의 제목.
앨범에서 각각의 곡의 제목에 나란히 들어갈, (MPMediaItemPropertyTitle 속성을 사용하여 열거하는) "Crater Dance (radio edit)"와 같은 것.  NSString 오브젝트 값이다.
MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이 미디어 프로퍼티 프리디케이트를 만드는데 사용될 수 있다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyArtist
미디어 아이템의 아티스트. NSString 오브젝트 값이다.
MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이 미디어 프로퍼티 프리디케이트를 만드는데 사용될 수 있다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyAlbumArtist
앨범 전체에 걸친 아티스트. NSString 오브젝트 값이다.
MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이 미디어 프로퍼티 프리디케이트를 만드는데 사용될 수 있다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyGenre
미디어 아이템의 장르. NSString 오브젝트 값이다.
MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이 미디어 프로퍼티 프리디케이트를 만드는데 사용될 수 있다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyComposer
미디어 아이템 작곡가. NSString 오브젝트 값이다.
MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이 미디어 프로퍼티 프리디케이트를 만드는데 사용될 수 있다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyPlaybackDuration
미디어 아이템의 재생시간. NSTimeInterval의 초로 표현되는 NSNumber 오브젝트 값.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyAlbumTrackNumber
미디어 아이템이 앨범에서 몇번째에 해당하는지를 나타내는 트랙넘버.  NSUInteger 데이터 형을 나타내는 NSNumber 오브젝트 값.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyAlbumTrackCount
앨범이 포함하고 있는 미디어 아이템의 수. NSUInteger 데이터형을 나타내는 NSNumber 오브젝트 값.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyDiscNumber
여러개의 디스크를 가지는 앨범에서 이 미디어 아이템의 디스크 넘버. NSUInteger 데이터 형을 나타내는 NSNumber 오브젝트 값.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyDiscCount
이 미디어 아이템을 가지고 있는 앨범의 디스크 수. NSUInteger 데이터 형을 나타내는 NSNumber 오브젝트 값.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyArtwork
미디어 아이템의 아트웍 이미지.  미디어 아이템 이미지 값은, MPMediaItemArtwork 클래스 레퍼런스 에 설명되어 있다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyLyrics
미디어 아이템의 가사. NSString 오브젝트 값이다.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyIsCompilation
이 미디어 아이템이 편집의 일부인지(YES) 아닌지(NO)를 나타내는 Boolean 값.  BOOL 데이터 타입을 나타내는 NSNumber 오브젝트 값.
iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.


팟캐스트 아이템 프로퍼티 키들
당신은 이 속성 키들을 사용해서  valueForProperty: 메서드를 호출하여 팟캐스트 미디어 아이템을 위한 메타데이터를 얻는다.  필터 가능한 속성들은 미디어 프로퍼티 프리디케이트들을 만드는데 사용될 수 있다.
NSString *const MPMediaItemPropertyPodcastTitle;   //filterable

상수
MPMediaItemPropertyPodcastTitle
팟캐스트의 개별 에피소드의 제목과 함께 나올 팟캐스트의 제목.
NSString 오브젝트 값이다.
MPMediaPropertyPredicate 클래스 레퍼런스에서 설명되는 바와 같이 미디어 프로퍼티 프리디케이트를 만드는데 사용될 수 있다. iPhone OS 3.0이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

사용자 정의 프로퍼티 키들
당신은 이 프로퍼티 키들을 사용해서 valueForProperty: 메서드를 호출하여 미디어 아이템을 위한 사용자 정의 메타데이터를 얻는다.  사용자 정의 속성들은 미디어 프로퍼티 프리디케이트들을 만드는데 사용될 수 없다.

NSString *const MPMediaItemPropertyPlayCount;
NSString *const MPMediaItemPropertySkipCount;
NSString *const MPMediaItemPropertyRating;
NSString *const MPMediaItemPropertyLastPlayedDate;

상수
MPMediaItemPropertyPlayCount
사용자가 미디어 아이템을 재생한 횟수. NSUInteger 데이터형을 나타내는 NSNumber 오브젝트 값.  iPhone OS 3.0 이상에서 사용가능하고, MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertySkipCount
사용자가 아이템 재생을 스킵한 횟수. NSUInteger 데이터형을 나타내는 NSNumber 오브젝트 값. iPhone OS 3.0 이상에서 사용가능하고, MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyRating
사용자가 미디어 아이템에 준 등급. 0~5의 범위를 가지며 NSUInteger 데이터형을 나타내는 NSNumber 오브젝트 값이다.  iPhone OS 3.0 이상에서 사용가능하며 MPMediaItem.h에 정의되어 있다.

MPMediaItemPropertyLastPlayedDate
미디어 아이템을 플레이 했던 가장 최근 날짜. NSDate 오브젝트 값이다.
iPhone OS 3.0 이상에서 사용가능하고 MPMediaItem.h에 정의되어 있다.

원문

댓글 2개:

내 블로그 목록

관심 사용자