MediaPlayer.framework:如何将MPMusicRepeatModeDefault"转换"为实际模式?

Mat*_*toe 11 iphone objective-c ipad mpmediaplayercontroller

正如Apple文件中所述:

enum {
   MPMusicRepeatModeDefault,
   MPMusicRepeatModeNone,
   MPMusicRepeatModeOne,
   MPMusicRepeatModeAll
};
typedef NSInteger MPMusicRepeatMode;
Run Code Online (Sandbox Code Playgroud)

然而,MPMusicRepeatModeDefault被描述为用户首选的重复模式.自从我写一个音乐播放器,我需要知道每个什么是当前重复模式的时间,而当这是返回,"实际"模式的内容:

  • MPMusicRepeatModeNone
  • MPMusicRepeatModeOne
  • MPMusicRepeatModeAll

应该选择?或者没有办法获得这些信息?

lfa*_*lin 4

我的理解是,它MPMusicRepeatModeDefault仅用于实例化您自己的播放器,如此处所述

MPMusicPlayerController* appMusicPlayer = [MPMusicPlayerController applicationMusicPlayer];

// Use whatever the user has set in their iPod settings
// Omitting this line has no real effect because deferring to the
// user mode is the default setting for new players
[appMusicPlayer setRepeatMode: MPMusicRepeatModeDefault];
Run Code Online (Sandbox Code Playgroud)

如果您想知道默认设置实际上是什么,您应该能够从iPodMusicPlayer 实例获取它:

MPMusicPlayerController* iPodMusicPlayer =
    [MPMusicPlayerController iPodMusicPlayer];

MPMusicRepeatMode theDefaultMode = [iPodMusicPlayer repeatMode];
Run Code Online (Sandbox Code Playgroud)