MPMediaItemクラス

2010. 10. 18
●概要

MPMediaItemオブジェクトまたはメディアアイテムは、iPodライブラリ内にある曲などの一つのアイテムを表します。

メディアアイテムは固有の識別子を持ち、MPMediaItemPropertyPersistentIDプロパティキーを使ってアクセスできます。

この識別子はアプリケーションの起動間で保持します。

メディアアイテムは広範囲のメタデータを関連付けすることができます。

メタデータにアクセスするには、valueForProperty:メソッドとこのドキュメントで説明するプロパティキーを一緒に使います。

またバッチ方式でメタデータにアクセスする場合はenumerateValuesForProperties:usingBlock:メソッドを使います。

いくつかの場合、この方が効率的です。

メディアアイテムの属性はiPodライブラリを検索してメディアクエリを構築するために使用します。

これらの属性は『Media Item Type Flags』、『General Media Item Property Keys』、『Podcast Item Property Keys』で説明しています。

メディアクエリについては『MPMediaQueryクラス』で説明しています。



●タスク

●メディアアイテムプロパティの使用

+ canFilterByProperty:
– enumerateValuesForProperties:usingBlock:
– valueForProperty:



●クラスメソッド



●インスタンスメソッド

valueForProperty

- (id)valueForProperty:(NSString *)property

指定したメディアアイテムのプロパティキーの値です。

戻り値は、メディアアイテムのpropertyキーの値を返します。

このプロパティで使用可能なメタデータのキーのリストは、『General Media Item Property Keys』『Podcast Item Property Keys』『User-Defined Property Keys』です。

property:対応する値を取得するためのプロパティキーを指定します。



●定数

General Media Item Property Keys

これらのプロパティキーでvalueForPropertyメソッドを呼び出すことによって、メディアアイテムのメタデータを取得します。

いくつかのプロパティはメディアプロパティ述語の構築に使用することができます。
(詳細は『MPMediaPropertyPredicateクラス』を参照)

これらのプロパティには『filterable』と示しています。

NSString*constMPMediaItemPropertyPersistentID;// filterable
NSString*constMPMediaItemPropertyMediaType;// filterable
NSString*constMPMediaItemPropertyTitle;// filterable
NSString*constMPMediaItemPropertyAlbumTitle;// filterable
NSString*constMPMediaItemPropertyArtist;// filterable
NSString*constMPMediaItemPropertyAlbumArtist;// filterable
NSString*constMPMediaItemPropertyGenre;// filterable
NSString*constMPMediaItemPropertyComposer;// filterable
NSString*constMPMediaItemPropertyPlaybackDuration; 
NSString*constMPMediaItemPropertyAlbumTrackNumber; 
NSString*constMPMediaItemPropertyAlbumTrackCount; 
NSString*constMPMediaItemPropertyDiscNumber; 
NSString*constMPMediaItemPropertyDiscCount; 
NSString*constMPMediaItemPropertyArtwork; 
NSString*constMPMediaItemPropertyLyrics; 
NSString*constMPMediaItemPropertyIsCompilation;// filterable
NSString*constMPMediaItemPropertyReleaseDate; 
NSString*constMPMediaItemPropertyBeatsPerMinute; 
NSString*constMPMediaItemPropertyComments; 
NSString*constMPMediaItemPropertyAssetURL; 

MPMediaItemPropertyPersistentID
メディアアイテムの永続的な識別子です。
値はuint64_t(unsigned long long)のNSNumberオブジェクトです。
MPMediaItemPropertyPersistentID識別子の値は永続的なもので、アプリケーションの起動や同期に関わらず、メディアアイテムの同期状態で変更されません。
同期/非同期/同期サイクルを経て値が永続することは保証されません。
メディアプロパティ述語の構築に使用することができます。

MPMediaItemPropertyMediaType
メディアアイテムのメディアタイプです。
値はNSIntegerデータ型のNSNumberオブジェクトです。
NSInteger値は『Media Item Type Flags』のビットフィールドフラグまたはフラグのセットを表します。
メディアプロパティ述語の構築に使用することができます。

MPMediaItemPropertyTitle
メディアアイテムのタイトル(または名前)です。
このプロパティはMPMediaItemPropertyAlbumTitleプロパティと関連はありません。
値はNSStringオブジェクトです。
メディアプロパティ述語の構築に使用することができます。

MPMediaItemPropertyAlbumTitle
『Live On Mars』などのアルバムのタイトルです。
『Crater Dance (radio edit)』などアルバムの個々の曲のタイトルは、MPMediaItemPropertyTitleプロパティを指定します。
値はNSStringオブジェクトです。
メディアプロパティ述語の構築に使用することができます。

MPMediaItemPropertyArtist
メディアアイテムの演奏するアーティストです。
メディアアイテムに属する名前なので、アルバムの主要なアーティストと異なる場合があります。
例えばアルバムのアーティストが『Joseph Fable featuring Thomas Smithson』で、アルバムのその内の一曲のアーティストは『Joseph Fable,』という場合です。
値はNSStringオブジェクトです。
メディアプロパティ述語の構築に使用することができます。

MPMediaItemPropertyAlbumArtist
アルバムで主に演奏するアーティストです。
値はNSStringオブジェクトです。
メディアプロパティ述語の構築に使用することができます。

MPMediaItemPropertyGenre
ミュージカルまたは映画といったメディアアイテムのジャンルです。
値はNSStringオブジェクトです。
メディアプロパティ述語の構築に使用することができます。

MPMediaItemPropertyComposer
メディアアイテムのミュージカルの作曲家です。
値はNSStringオブジェクトです。
メディアプロパティ述語の構築に使用することができます。

MPMediaItemPropertyPlaybackDuration
メディアアイテムの再生時間です。
値は再生時間をNSTimeIntervalの秒単位で表したNSNumberオブジェクトです。

MPMediaItemPropertyAlbumTrackNumber
メディアアイテムがアルバムの一部の場合、メディアアイテムのトラック番号を表します。
値はNSUIntegerデータ型のNSNumberオブジェクトです。

MPMediaItemPropertyAlbumTrackCount
メディアアイテムが入っているアルバムのトラック数です。
値はNSUIntegerデータ型のNSNumberオブジェクトです。

MPMediaItemPropertyDiscNumber
メディアアイテムがマルチディスクアルバムの一部の場合、メディアアイテムのディスク番号を表します。
値はNSUIntegerデータ型のNSNumberオブジェクトです。

MPMediaItemPropertyDiscCount
メディアアイテムが入っているアルバムのディスク数です。
値はNSUIntegerデータ型のNSNumberオブジェクトです。

MPMediaItemPropertyArtwork
メディアアイテムのアートワーク画像です。
値はメディアアイテムの画像で詳細は『MPMediaItemArtworkクラス』を参照してください。

MPMediaItemPropertyLyrics
メディアアイテムの歌詞です。
値はNSStringオブジェクトです。

MPMediaItemPropertyIsCompilation
メディアアイテムがコンピレーションの一部かどうかをブール値で表し、コンピレーションの一部であればYES、そうでなければNOになります。
iTunesの『情報見る(Get Info)』ダイアログ内の『情報(Info)』タブにある、『コンピレーションの一部(Part of a compilation)』のチェックボックスに対応しています。
値はBOOLデータ型のNSNumberオブジェクトです。

MPMediaItemPropertyReleaseDate
メディアアイテムの最初のリリース日です。
値はNSDateオブジェクトです。

MPMediaItemPropertyBeatsPerMinute
メディアアイテムのBPM(1分あたりの拍数)で、iTunesの『情報見る(Get Info)』ダイアログ内の『情報(Info)』タブにある、『BPM』の欄に対応しています。
値はNSUIntegerデータ型のNSNumberオブジェクトです。

MPMediaItemPropertyComments
メディアアイテムに関するテキスト情報で、iTunesの『情報見る(Get Info)』ダイアログ内の『情報(Info)』タブにある、『コメント(Comments)』の欄に対応しています。
値はNSStringオブジェクトです。

MPMediaItemPropertyAssetURL
メディアアイテムの指すURLで、AVAssetオブジェクト(または他のURLベースのAV Foundationオブジェクト)を任意のオプションを必要に応じて使用して生成できます。
値はNSURLオブジェクトです。
URLはipod-libraryのカスタムスキームを持ちます。
例えば、URLは次のようになります。
ipod-library://item/item.m4a?id=12345
URLの外側の処理は、AV Foundationフレームワークはサポートしません。



参考文献

MPMediaItem Class Reference






QuietControl 30 wireless headphones
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
04 | 2017/05 | 06
Sun Mon Tue Wed Thu Fri Sat
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
Recent Articles
iTunes


Swift
Categories
Tips
Profile

水月杏香

Author:水月杏香
永遠の初心者プログラマ。

Wish List
WACOM


ARC
Technical Q&A
情報プロパティリストキー
Start Developing iOS Apps Today
BOSE

QuietControl 30 wireless headphones
Reference
NSApplicationDelegateプロトコル
NSArrayクラス
NSAutoreleasePoolクラス
NSBundleクラス
NSBundle UIKit追加分
NSCalendarクラス
NSCoderクラス
NSCodingプロトコル
NSCopyingプロトコル
NSDataクラス
NSDateクラス
NSDateFormatterクラス
NSDictionaryクラス
NSEntityDescriptionクラス
NSEnumeratorクラス
NSErrorクラス
NSExceptionクラス
NSFetchRequestクラス
NSFileHandleクラス
NSFileManagerクラス
NSIndexPathクラス
NSIndexPath UIKit追加分
NSKeyedArchiverクラス
NSKeyedUnarchiverクラス
NSKeyValueCodingプロトコル
NSLocaleクラス
NSManagedObjectクラス
NSManagedObjectContextクラス
NSManagedObjectModelクラス
NSMutableArrayクラス
NSMutableCopyingプロトコル
NSMutableDictionaryクラス
NSMutableSetクラス
NSNotificationクラス
NSNotificationCenterクラス
NSNullクラス
NSNumberクラス
NSObjectクラス
NSObject UIKit追加分
NSObjectプロトコル
NSPersistentStoreクラス
NSPersistentStoreCoordinatorクラス
NSPredicateクラス
NSPropertyListSerializationクラス
NSRunLoopクラス
NSSetクラス
NSStringクラス
NSString UIKit追加分
NSTimerクラス
NSTimeZoneクラス
NSURLクラス
NSURLProtectionSpaceクラス
NSURLRequestクラス
NSUserDefaultsクラス
NSValueクラス

UIActionSheetクラス
UIActionSheetDelegateプロトコル
UIActivityIndicatorViewクラス
UIAlertViewクラス
UIAlertViewDelegateプロトコル
UIApplicationクラス
UIApplicationDelegateプロトコル
UIBarButtonItemクラス
UIBarItemクラス
UIButtonクラス
UIColorクラス
UIControlクラス
UIDatePickerクラス
UIDeviceクラス
UIEventクラス
UIFontクラス
UIGestureRecognizerクラス
UIImageクラス
UIImageViewクラス
UIKit Function
UILabelクラス
UINavigationControllerクラス
UINavigationItemクラス
UIPickerViewクラス
UIPickerViewDataSourceプロトコル
UIPickerViewDelegateプロトコル
UIPinchGestureRecognizerクラス
UIResponderクラス
UIScreenクラス
UIScrollViewクラス
UISearchBarクラス
UISearchBarDelegateプロトコル
UISegmentedControlクラス
UISliderクラス
UISwipeGestureRecognizerクラス
UISwitchクラス
UITableViewクラス
UITableViewCellクラス
UITableViewControllerクラス
UITableViewDataSourceプロトコル
UITableViewDelegateプロトコル
UITapGestureRecognizerクラス
UITextFieldクラス
UITextFieldDelegateプロトコル
UITextInputTraitsプロトコル
UITextViewクラス
UITextViewDelegateプロトコル
UIToolbarクラス
UITouchクラス
UIViewクラス
UIViewControllerクラス
UIWebViewクラス
UIWebViewDelegateプロトコル
UIWindowクラス

AVAudioPlayerクラス
AVAudioPlayerDelegateプロトコル

CADisplayLinkクラス
CAEAGLLayerクラス
CALayerクラス

CGAffineTransform
CGBitmapContext
CGColor
CGColorSpace
CGContext
CGGeometry
CGImage
CGPath

EAGLContextクラス
EAGLDrawableプロトコル

Foundation Constants
Foundation Data Types
Foundation Functions

MPMediaItemクラス
MPMediaItemArtworkクラス
MPMediaPlaylistクラス
MPMediaPropertyPredicateクラス
MPMediaQueryクラス
MPMusicPlayerControllerクラス

Randomization Services

System Sound Services
Amazon


OpenGL ES
SQLite
Monthly Archives
Recent Comments
Recent TrackBacks
RSS Link
Visitors
QR Code
QR