【问题标题】:MediaPlayer.framework: How to "translate" MPMusicRepeatModeDefault into an actual mode?MediaPlayer.framework:如何将 MPMusicRepeatModeDefault “翻译”为实际模式?
【发布时间】:2012-09-02 06:18:01
【问题描述】:

如 Apple 文档中所述:

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

然而,MPMusicRepeatModeDefault 被描述为 用户首选的重复模式。因为我正在编写一个音乐播放器,所以我每次都需要知道当前的重复模式是什么,当返回时,“实际”模式是什么:

  • MPMusicRepeatModeNone
  • MPMusicRepeatModeOne
  • MPMusicRepeatModeAll

会被选中吗?还是没有办法得到这样的信息?

【问题讨论】:

  • 您找到解决方案了吗?
  • 没有。因为我实际上是在为越狱的 iPhone 开发“调整”,我设法通过查看 iPod.app 偏好列表(位于~/Library/Preferences/com.apple.mobileipod.plist)中的一些数据来获取这些信息,但我从来没有真正找到任何可以成为一个实际的应用程序。
  • 您是否尝试通过播放器的 repeatMode 属性获取此信息?

标签: iphone objective-c ipad mpmediaplayercontroller


【解决方案1】:

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

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];

如果您想知道该默认设置实际上是什么,您应该可以从iPodMusicPlayer instance 获得它:

MPMusicPlayerController* iPodMusicPlayer =
    [MPMusicPlayerController iPodMusicPlayer];

MPMusicRepeatMode theDefaultMode = [iPodMusicPlayer repeatMode];

【讨论】:

  • -repeatMode 有时会返回该模式。
猜你喜欢
  • 1970-01-01
  • 2015-03-01
  • 2011-10-23
  • 1970-01-01
  • 1970-01-01
  • 2010-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多