MPMusicPlayerControllerクラス

2010. 10. 19
●概要

MPMusicPlayerControllerオブジェクトまたは音楽プレイヤは、iPodライブラリのメディアアイテムの再生に使用します。

音楽プレイヤには二種類あります。
  • 『アプリケーション音楽プレイヤ』はアプリケーション内のローカルで音楽を再生します。
    iPodアプリケーションの現在の再生アイテムに関知せず、iPodの状態に影響されません。

  • 『iPod音楽再生プレイヤ』はビルトインされているiPodアプリケーションを利用します。
    インスタンスは現在のiPodアプリケーションの状態、例えば現在再生されているアイテムの識別をすることができます。
    ユーザが音楽の再生中にアプリケーションを終了しても、音楽を再生し続けます。
    iPodアプリケーションは、音楽プレイヤアプリケーションのリピートモード、シャッフルモード、再生状態、現在再生中のアイテムの直近の設定を持ちます。



●タスク

●音楽プレイヤの取得

+ applicationMusicPlayer
+ iPodMusicPlayer

●再生キューの設定

– setQueueWithQuery:
– setQueueWithItemCollection:

●再生モードと状態の管理

  currentPlaybackTime    property
  nowPlayingItem    property
  playbackState    property
  repeatMode    property
  shuffleMode    property
  volume    property

●再生の制御

– play
– pause
– stop
– beginSeekingForward
– beginSeekingBackward
– endSeeking
– skipToNextItem
– skipToBeginning
– skipToPreviousItem

●音楽プレイヤ通知の使用

– beginGeneratingPlaybackNotifications
– endGeneratingPlaybackNotifications



●プロパティ

currentPlaybackTime

@property (nonatomic) NSTimeInterval currentPlaybackTime

現在再生しているメディアアイテムの、開始から現在の再生時間までを秒単位で測定します。

以下の理由により、このプロパティのアクセスは読み書き可能です。

・データを取得して、現在の再生時間をユーザに提供する。
・メディアアイテムの特定の時点にシークする。


nowPlayingItem

@property (nonatomic, copy) MPMediaItem *nowPlayingItem

現在再生中のメディアアイテム、再生していない場合はキュー内のメディアアイテムを指定して再生を開始します。

再生キュー内の特定のメディアアイテムで再生を開始する場合、このプロパティでそのアイテムを設定すると音楽プレイヤは停止または一時停止します。

再生中または再生を指定するメディアアイテムが無い場合、このプロパティの値はnilになります。


playbackState

@property (nonatomic, readonly) MPMusicPlaybackState playbackState

音楽プレイヤの現在の再生状態を示します。

利用できる再生状態は『Playback States』を参照してください。


repeatMode

@property (nonatomic) MPMusicRepeatMode repeatMode

音楽プレイヤの現在のリピートモードです。

利用できるリピートモードは『Repeat Modes』を参照してください。

リピートモードが明示されていない場合、repeatModeはデフォルトでMPMusicRepeatModeDefaultを設定します。


shuffleMode

@property (nonatomic) MPMusicShuffleMode shuffleMode

音楽プレイヤの現在のシャッフルモードです。

利用できるシャッフルモードは『Shuffle Modes』を参照してください。

シャッフルモードが明示されていない場合、shuffleModeはデフォルトでMPMusicShuffleModeDefaultを設定します。



●クラスメソッド

applicationMusicPlayer

+ (MPMusicPlayerController *)applicationMusicPlayer

アプリケーション音楽プレイヤを返します。

アプリケーション音楽プレイヤは、アプリケーション内のローカルで音楽を再生します。

iPodの状態には影響しません。

アプリケーションが終了すると音楽の再生を停止します。


iPodMusicPlayer

+ (MPMusicPlayerController *)iPodMusicPlayer

iPodアプリケーションの状態を制御する、iPod音楽プレイヤを返します。

iPodアプリケーションの代わりとしてiPod音楽プレイヤを利用できます。

インスタンスはアプリケーションの実行時に、現在のiPodアプリケーションの状態と制御を取得します。

具体的な共有する状態を以下に示します。

・リピートモード(『Repeat Modes』参照)
・シャッフルモード(『Shuffle Modes』参照)
・現在再生しているアイテム(『nowPlayingItem』参照)
・再生状態(『playbackState』参照)

他のiPodの状態、例えばon-the-goプレイリストなどは共有されません。

アプリケーションが終了しても、再生状態の音楽は再生され続けます。



●インスタンスメソッド

beginGeneratingPlaybackNotifications

- (void)beginGeneratingPlaybackNotifications

再生通知の生成を開始します。


endGeneratingPlaybackNotifications

- (void)endGeneratingPlaybackNotifications

再生通知の生成を終了します。


pause

- (void)pause

音楽プレイヤが再生中の場合、一時停止します。

playを再度呼び出した場合、一時停止した場所から再生を開始します。


play

- (void)play

現在の再生キューからメディアアイテムを再生し、可能であれば一時停止を再開して再生します。


setQueueWithItemCollection:

- (void)setQueueWithItemCollection:(MPMediaItemCollection *)itemCollection

メディアアイテムコレクションを使って、音楽プレイヤの再生キューに設定します。

再生キューが確立された後で、playを呼び出して再生を開始します。

itemCollection:再生キューに必要なメディアアイテムコレクションを指定します。
メディアアイテムコレクションとその使い方については『MPMediaItemCollection Class Reference』を参照してください。


setQueueWithQuery:

- (void)setQueueWithQuery:(MPMediaQuery *)query

音楽プレイヤの再生キューをメディアクエリに基づいて設定します。

再生キューが確立された後で、playを呼び出して再生を開始します。

query:再生キューに必要なメディアアイテムのコレクションを指定するメディアクエリです。
クエリのタイプと生成については『MPMediaQueryクラス』を参照してください。


skipToBeginning

- (void)skipToBeginning

現在再生しているメディアアイテムを最初から再生し直します。


skipToNextItem

- (void)skipToNextItem

再生キュー内の次のメディアアイテムの再生を開始、または音楽プレイヤが再生していない場合はその次に再生可能な以降のメディアアイテムを指定します。

再生キューが既に最後のアイテムである場合、このメソッドは再生を終了します。


skipToPreviousItem

- (void)skipToPreviousItem

再生キュー内の前のメディアアイテムの再生を開始、または音楽プレイヤが再生していない場合はその次に再生可能な以前のメディアアイテムを指定します。

再生キューが既に最初のアイテムである場合、このメソッドは再生を終了します。



●定数

Playback States

playbackStateプロパティの値です。

enum {
    MPMusicPlaybackStateStopped,
    MPMusicPlaybackStatePlaying,
    MPMusicPlaybackStatePaused,
    MPMusicPlaybackStateInterrupted,
    MPMusicPlaybackStateSeekingForward,
    MPMusicPlaybackStateSeekingBackward
};
typedef NSInteger MPMusicPlaybackState; 

playbackStateプロパティをチェックして、音楽プレイヤの状態を確認します。

プロパティの値によって、アプリケーションのユーザインターフェイスまたは他の適切な動作を更新することができます。

MPMusicPlaybackStateStopped
音楽プレイヤは停止しています。

MPMusicPlaybackStatePlaying
音楽プレイヤは再生しています。

MPMusicPlaybackStatePaused
音楽プレイヤは一時停止しています。

MPMusicPlaybackStateInterrupted
音楽プレイヤは電話の呼び出しなどで中断しています。

MPMusicPlaybackStateSeekingForward
音楽プレイヤは前方へシーク(早送り)しています。

MPMusicPlaybackStateSeekingBackward
音楽プレイヤは後方へシーク(巻き戻し)しています。


Repeat Modes

repeatModeプロパティの値です。

enum {
    MPMusicRepeatModeDefault,
    MPMusicRepeatModeNone,
    MPMusicRepeatModeOne,
    MPMusicRepeatModeAll
};
typedef NSInteger MPMusicRepeatMode;

MPMusicRepeatModeDefault
ユーザの好みのリピートモード。

MPMusicRepeatModeNone
音楽プレイヤは現在の曲またはプレイリストを繰り返しません。

MPMusicRepeatModeOne
音楽プレイヤは現在の曲を繰り返します。

MPMusicRepeatModeAll
音楽プレイヤは現在のプレイリストを繰り返します。


Shuffle Modes

shuffleModeプロパティの値です。

enum {
    MPMusicShuffleModeDefault,
    MPMusicShuffleModeOff,
    MPMusicShuffleModeSongs,
    MPMusicShuffleModeAlbums
};
typedef NSInteger MPMusicShuffleMode; 

MPMusicShuffleModeDefault
ユーザの好みのシャッフルモード。

MPMusicShuffleModeOff
プレイリストはシャッフルされません。

MPMusicShuffleModeSongs
プレイリストの曲をシャッフルします。

MPMusicShuffleModeAlbums
プレイリストのアルバムをシャッフルします。



●通知

MPMusicPlayerControllerNowPlayingItemDidChangeNotification

現在再生しているメディアアイテムが変更された場合に投稿します。



参考文献

MPMusicPlayerController Class Reference






bose_soundlink_revolve
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
03 | 2017/04 | 05
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 - - - - - -
Recent Articles
iTunes


Swift
Categories
Tips
Profile

水月杏香

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

Wish List
WACOM


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

bose_soundlink_revolve
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